Cursor.requery()是一个非常常用的方法,用于刷新ListView的内容。但为什么这种方法标记为“已弃用”?我无法理解API文档中的原因。为什么Cursor.requery()标记为“已弃用”?
Cursor.requery()API: http://developer.android.com/reference/android/database/Cursor.html#requery()
谁能请解释任何进一步的原因是什么?谢谢:)
Cursor.requery()是一个非常常用的方法,用于刷新ListView的内容。但为什么这种方法标记为“已弃用”?我无法理解API文档中的原因。为什么Cursor.requery()标记为“已弃用”?
Cursor.requery()API: http://developer.android.com/reference/android/database/Cursor.html#requery()
谁能请解释任何进一步的原因是什么?谢谢:)
我相信这样做是因为引入了新的Loaders API来简化查询游标异步。
由于弃用票据上写着:
不要使用此。只需要请求一个新的游标,以便您可以异步执行此操作,并在新游标返回时更新您的列表视图。
这就是我们应该使用的。
更新
看来,它也可以涉及到Activity.startManaginCursor
弃用:
startManagingCursor(光标C) 此方法已被弃用。改用LoaderManager使用新的CursorLoader类;这也可以通过Android兼容性套件在较早的平台上使用。此方法允许活动根据活动的生命周期来管理给定游标的生命周期。也就是说,当活动停止时,它会自动调用给定游标上的deactivate(),当它稍后重新启动时,它会为你调用requery()。当活动被破坏时,所有托管游标将自动关闭。如果您的目标是HONEYCOMB或更高版本,请考虑改为使用LoaderManager,而不是使用getLoaderManager()