Android API : SimpleCursorAdapter()

我们两清 提交于 2020-02-23 11:09:14

SimpleCursorAdapter() 是 SimpleCursorAdapter 类的构造函数。

 

描述:

SimpleCurosrAdapter 是一个将 Cursor 中的 columns 与在 XML 文件中定义的 TextViews 或 ImageViews 进行匹配的简易 adapter。你可以指定选择 Cursor 中的哪些 columns、用哪些 views 来显示这些 columns 、以及指定定义这些 views 的 xml 文件。 

也就是说,SimpleCursorAdapter 允许绑定一个 Cursor 的 columns 到 ListView 上,并使用自定义的 layout 显示 List中的每个项目。

可以使用 SimpleCursorAdapter 作为中间桥梁,将从 sqlite 数据库中查询出来的数据直接显示到 ListView 中。

 

原型:

public SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to) {
    super(context, layout, c);
    mTo = to;
    mOriginalFrom = from;
    findColumns(from);
}

参数:

Context context, 这个与 SimpleListItemFactory 相关的 ListView 所处运行上下文(context)。也就是这个 ListView 所在的 Activity。

int layout, 显示 list item 的 布局文件。这个 layout 文件中至少要包含在 "to" 参数中命名的 views。

Cursor c, 数据库的光标( Cursor )。如果 cursor 无效,则该参数可以为 null

String[] from, 指定 column 中的哪些列的数据将绑定(显示)到 UI 中。如果 cursor 无效, 则该参数可为 null。

int[] to, 指定用于显示 "from" 参数指定的数据列表的 views。 这些 views 必须都是 TextViews。 "from" 参数的前 N 个值(valus)和 "to" 参数的前 N 个 views 是一一对应的关系。如果 cursor 无效,则该参数可为 null。

 

示例:

Uri uri = Contacts.People.CONTENT_URI;
String[] projection = { Contacts.PeopleColumns.NAME,
        Contacts.PeopleColumns.NOTES };
String selection = Contacts.PeopleColumns.NAME + "=?";
String[] selectionArgs = { "Braincol","Nixn.dev" };
String sortOrder = Contacts.PeopleColumns.NAME;
//使用 managedQuery 获取 Contacts.People 这个 ContentProvider 的 Cursor。
Cursor cursor = managedQuery(uri, projection, selection, selectionArgs,sortOrder);
    
//使用 SimpleCursorAdapter 建立 Cursor 的 Adapter 以便使用,数据表示形式为:NAME - NOTES
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.contact_list_item, 
              cursor, new String[] { ContactColumn.NAME,ContactColumn.NOTES }, 
              new int[] { R.id.name, R.id.notes });
//为当前ListView关联Adapter
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!