Cursor.requery()是一個非常常用的方法,用於刷新ListView的內容。但爲什麼這種方法標記爲「已棄用」?我無法理解API文檔中的原因。爲什麼Cursor.requery()標記爲「已棄用」?
Cursor.requery()API: http://developer.android.com/reference/android/database/Cursor.html#requery()
誰能請解釋任何進一步的原因是什麼?謝謝:)
Cursor.requery()是一個非常常用的方法,用於刷新ListView的內容。但爲什麼這種方法標記爲「已棄用」?我無法理解API文檔中的原因。爲什麼Cursor.requery()標記爲「已棄用」?
Cursor.requery()API: http://developer.android.com/reference/android/database/Cursor.html#requery()
誰能請解釋任何進一步的原因是什麼?謝謝:)
我相信這樣做是因爲引入了新的Loaders API來簡化查詢遊標異步。
由於棄用票據上寫着:
不要使用此。只需要請求一個新的遊標,以便您可以異步執行此操作,並在新遊標返回時更新您的列表視圖。
這就是我們應該使用的。
更新
看來,它也可以涉及到Activity.startManaginCursor
棄用:
startManagingCursor(光標C) 此方法已被棄用。改用LoaderManager使用新的CursorLoader類;這也可以通過Android兼容性套件在較早的平臺上使用。此方法允許活動根據活動的生命週期來管理給定遊標的生命週期。也就是說,當活動停止時,它會自動調用給定遊標上的deactivate(),當它稍後重新啓動時,它會爲你調用requery()。當活動被破壞時,所有託管遊標將自動關閉。如果您的目標是HONEYCOMB或更高版本,請考慮改爲使用LoaderManager,而不是使用getLoaderManager()