我的AsyncTaskLoader正在從遠程服務器加載數據。當新數據到達時,自然會撥打onLoadFinished
。此時我不知道如何將新數據提供給RecyclerView.Adapter
。撥打電話notifyDataSetChanged
並沒有給它新的數據:它只是告訴它有新的數據。所以,關於我如何做到這一點的任何建議?現在我能想到的最好的就是我在執行的RecyclerView.Adapter
創建自己的setData
方法如何從AsyncTaskLoader向RecyclerView Adapter提供新數據
public void setData(List<MyObject> data){
if(null != data && !data.isEmpty()){
synchronized(mItems){
mItems.clear();
mItems.addAll(data);
}
notifyDataSetChanged();
}
}
是我的思路是最好的?還是有更好的方法來做到這一點?
我個人也是這樣。我把一個方法更新我的數據到我的適配器,然後調用notifyDataSetChanged。 – xiaomi
即使在BaseAdapter時代也是如此,我在改變底層數據集的時候使用了這條路線,只是調用了notifyDataSetChanged()。 – deubaka