3

Cursor.requery() 是一种非常常用的方法,用于刷新 ListView 的内容。但是为什么这种方法被标记为“已弃用”?我无法非常清楚地理解 API 文档中的原因。

Cursor.requery() API:http: //developer.android.com/reference/android/database/Cursor.html#requery ()

谁能进一步解释原因?谢谢:)

4

1 回答 1

3

我相信它已经完成了,因为引入了新的Loaders API来简化异步查询游标。

正如弃用说明所说

不要使用这个。只需请求一个新游标,这样您就可以异步执行此操作,并在新游标返回后更新您的列表视图。

这就是我们应该使用的。

更新

似乎它也可能与弃用有关Activity.startManaginCursor

startManagingCursor(Cursor c) 此方法已弃用。将新的 CursorLoader 类与 LoaderManager 一起使用;这也可以通过 Android 兼容包在旧平台上使用。此方法允许活动根据活动的生命周期为您管理给定游标的生命周期。也就是说,当活动停止时,它会自动在给定的光标上调用 deactivate(),当它稍后重新启动时,它会为你调用 requery()。当活动被销毁时,所有托管游标将自动关闭。如果您的目标是 HONEYCOMB 或更高版本,请考虑改用 LoaderManager,可通过 getLoaderManager() 获得

于 2011-08-16T03:52:02.500 回答