CursorAdapter已弃用?

时间:2016-08-05 11:44:09

标签: android deprecated simplecursoradapter android-cursoradapter android-cursor

我最近编写了一个StackOverflow文档示例,演示了如何使用ListView从数据库填充SimpleCursorAdapter

它被以下动机拒绝了:

  

没有人应该再使用CursorAdapters了。他们因某种原因被弃用了!

我不知道游标适配器已被弃用(以及出于什么原因),所以我用Google搜索了它。所有出现的都是一堆帖子,问我现在问的问题大致相同,标准答案似乎是“只有一个构造函数被弃用,而不是整个CursorAdapter类!”

那是哪条路?我的贡献是否合理地被拒绝了?

如果不是ListView,应如何填充SimpleCursorAdapter?我知道有CursorLoader这样的东西,但是对于像ListView中显示一些数据这样的简单任务来说,当同样的事情发生时,必须处理内容提供​​者和东西似乎是一件不必要的麻烦。使用AsyncTaskSimpleCursorAdapter ...

完成

1 个答案:

答案 0 :(得分:1)

仅弃用默认使用FLAG_AUTO_REQUERY的构造函数,因为:

  

此常量在API级别11中已弃用。此选项为   气馁,因为它会导致Cursor查询被执行   应用程序的UI线程因此可能导致响应性差或甚至   应用程序无响应错误。作为替代方案,请使用   带有CursorLoader的LoaderManager。

你仍然可以这样做:

CursorAdapter myAdapter = new CursorAdapter(myContext, myCursor, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER) {
    ...