1

我最近编写了一个StackOverflow文档示例,说明如何使用SimpleCursorAdapter从数据库填充ListViewCursorAdapter已弃用?

它得到了由具有以下动机拒绝:

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

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

那么它是哪一种?我的贡献是否被合理拒绝?

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

+0

据我所知,他们没有过时,但我想知道为什么用户相信他们。也就是说,他们是否有该信息的官方消息来源?也许我只是走出了循环。 –

+0

是的我想知道相同的,但我找不到任何方式联系拒绝我的例子,并要求他们的用户... – BadCash

+0

你可以打开一个[与他聊天室](http://聊天室.stackoverflow.com/users/4409409 /),看看他是否回应。尽管如此,这是一种折腾。有些用户不喜欢聊天。他在现场非常活跃,所以他很有可能在不久的将来会看到房间邀请。 –

回答

0

只有它默认使用FLAG_AUTO_REQUERY构造已被弃用的原因是:

这个常量是在API级别11推荐使用此选项 气馁,因为它会导致光标查询正在对 执行应用程序的UI线程,因此可能导致响应不佳甚至 应用程序未响应错误。作为替代方法,使用带有CursorLoader的LoaderManager。

你仍然可以做这样的事情:

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