我最近编写了一个StackOverflow文档示例,演示了如何使用ListView
从数据库填充SimpleCursorAdapter
。
它被以下动机拒绝了:
没有人应该再使用CursorAdapters了。他们因某种原因被弃用了!
我不知道游标适配器已被弃用(以及出于什么原因),所以我用Google搜索了它。所有出现的都是一堆帖子,问我现在问的问题大致相同,标准答案似乎是“只有一个构造函数被弃用,而不是整个CursorAdapter类!”
那是哪条路?我的贡献是否合理地被拒绝了?
如果不是ListView
,应如何填充SimpleCursorAdapter
?我知道有CursorLoader
这样的东西,但是对于像ListView
中显示一些数据这样的简单任务来说,当同样的事情发生时,必须处理内容提供者和东西似乎是一件不必要的麻烦。使用AsyncTask
和SimpleCursorAdapter
...
答案 0 :(得分:1)
仅弃用默认使用FLAG_AUTO_REQUERY的构造函数,因为:
此常量在API级别11中已弃用。此选项为 气馁,因为它会导致Cursor查询被执行 应用程序的UI线程因此可能导致响应性差或甚至 应用程序无响应错误。作为替代方案,请使用 带有CursorLoader的LoaderManager。
你仍然可以这样做:
CursorAdapter myAdapter = new CursorAdapter(myContext, myCursor, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER) {
...