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) { 
    ...