当使用cursor.requery()刷新ListView的内容时,它是一个非常常见的方法。但为什么这种方法被标记为“已弃用”?我不太清楚api文档上的原因。
cursor.requery()接口:
http://developer.android.com/reference/android/database/Cursor.html#requery
有谁能进一步解释一下原因吗?谢谢)

最佳答案

我相信这是因为引入了新的Loaders API来简化异步查询游标。
正如贬义书所说
别用这个。只需请求一个新的游标,这样就可以异步地执行此操作,并在新游标返回后更新列表视图。
这就是我们应该使用的。
更新
这似乎也与Activity.startManaginCursor的折旧有关:
开始管理光标(光标C)
此方法已弃用。将新的cursorloader类与loadermanager一起使用;这也可以通过android兼容包在较旧的平台上使用。此方法允许活动根据活动的生命周期来管理给定游标的生命周期。也就是说,当活动停止时,它将自动对给定的游标调用deactivate(),当它稍后重新启动时,它将为您调用requery()。当活动被销毁时,所有托管游标将自动关闭。如果您的目标是Honeycomb或更高版本,请考虑改用通过getloadermanager()提供的loadermanager

关于android - 为什么Cursor.requery()标记为“已弃用”?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7073341/

10-09 06:02