使用CursorLoader更新ListView是一种从数据库向UI显示数据的简单方法.模型修改传播到UI而没有额外的工作,可能不那么有效.
RecyclerView.adapter提供更多粒度的访问权限,允许例如指定删除特定项目的适配器.
但是,调用那些首选方法(notifyItem*),替换notifyDataSetChanged的最佳位置是什么?
显然,适配器不能观察contentProvider,否则它将不知道模型修改的性质(就像之前一样).
可以使用不同的模式,例如添加总线以发布来自提供者的修改,创建可以使用适配器的引用的单例模型,可以使用演示者(在L中引入),或者创建活动绑定服务.
这是一个常见的用例:同步进程在DB中插入一个条目(或者收到一个gcm通知,也在DB中插入一个条目),然后我希望通过调用notifyItemInserted来更新UI(如果已启动).在哪里拨打这个电话?
谢谢.