最佳答案
当我必须使用带有 列表视图的经典适配器时,我会像下面这样更新 ListView 中的数据:
myAdapter.swapArray(data);
public swapArray(List<Data> data) {
clear();
addAll(data);
notifyDataSetChanged();
}
我想知道什么是 回收视图的最佳实践。因为在 回收视图适配器中,你不能像在 列表视图中那样做 clear
和 addAll
。
所以我用 notifyDataSetChanged
试了试,但没用。
然后我尝试在我的视图中使用交换适配器:
List<Data> data = newData;
MyRecyclerAdapter adapter = new MyRecyclerAdapter(data);
// swapAdapter on my recyclerView (instead of a .setAdapter like with a classic listView).
recyclerViewList.swapAdapter(adapter, false);
但是在最后一个解决方案中,我仍然需要创建适配器的一个新实例,我觉得这不是最好的解决方案。我应该能够只是改变我的数据没有一个新的 MyRecyclerAdapter
。