我的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