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

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  4. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  5. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  6. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  7. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  8. Android通用Adapter使用例子
  9. android报The content of the adapter has changed but ListView

随机推荐

  1. 在 Android(安卓)上使用协程(三) :Real Work
  2. Android网络游戏之神农诀项目开发--视频
  3. 《Android和PHP开发最佳实践》迷你书
  4. Android(安卓)Java 网络 OS等笔试题 --
  5. Android(安卓)NDK入门实例 计算斐波那契
  6. Android之adb
  7. android之调用webservice 实现图片上传下
  8. 利用HTML5开发Android笔记
  9. Android零基础入门第33节:Android事件处理
  10. android 系统结构