2017-08-22 85 views
0

RecyclerView本身有一套notifyItem*()方法,當需要時刷新RecyclerView。現在的問題是我應該使用CursorLoaderRecyclerView當我的SQLite數據庫加載數據我應該在RecyclerView中使用CursorLoader嗎?

+0

CursorLoader擴展了AsyncTask,因此當您使用cursorloader進行查詢時,它將在工作線程上,並且在獲取結果之後,可以將其設置並通知給recyclerview。 –

+0

@SagarPujari問題是notifyItem *()方法異步工作嗎? – Leo240

+0

onLoadFinished將在主線程中被調用,您將在該主線程中獲取其中獲取的數據的遊標,並且通知項目將僅在主線程中完成。 –

回答

0

當您使用RecyclerView,你應該使用CursorLoader接收的實際數據列表,但不同的是ListView控件中,RecyclerView不爲您提供從SQLite數據庫或某些內容提供者交換數據的即時方法。你應該自己做。

+0

自己動手嗎?複製現有的實施... https://gist.github.com/Shywim/127f207e7248fe48400b –

+0

@ cricket_007只是我沒有給出鏈接,因爲它可以很容易地在網絡上找到。 – Leo240