Android API : SimpleCursorAdapter

来源:互联网 发布:关键词排名优化技巧 编辑:程序博客网 时间:2024/06/06 13:15

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 

 setListAdapter(adapter);

原创粉丝点击