Cursor.requery()是一种非常常见的方法,用于刷新ListView的内容。但为什么这种方法被标记为“已弃用”?我无法理解API文档中的原因。
Cursor.requery()API: http://developer.android.com/reference/android/database/Cursor.html#requery()
任何人都可以进一步解释原因吗?感谢:)
答案 0 :(得分:3)
我相信它已经完成,因为引入了新的Loaders API来简化异步查询游标。
正如弃用说明所说
不要使用它。只需请求一个新光标,这样就可以异步执行此操作,并在新光标返回后更新列表视图。
这就是我们应该使用的。
更新
似乎它也可能与Activity.startManaginCursor
:
startManagingCursor(光标c) 不推荐使用此方法。改为使用新的CursorLoader类和LoaderManager;这也可以通过Android兼容包在旧版平台上使用。此方法允许活动根据活动的生命周期为您管理给定的Cursor生命周期。也就是说,当活动停止时,它将自动调用给定Cursor上的deactivate(),稍后重新启动它将为您调用requery()。当活动被销毁时,所有托管游标将自动关闭。如果您的目标是HONEYCOMB或更高版本,请考虑改为使用LoaderManager,可通过getLoaderManager()获取