如何管理android中的回收器适配器的完全更改

时间:2018-05-16 10:53:53

标签: android android-recyclerview recycler-adapter

我试图弄清楚如何正确管理适配器和相应的回收站视图 情况如下:
我在数据库上进行搜索查询,每次输入新搜索时,整个数据集都可能会发生变化。我应该每次实例化一个新的适配器吗?或者我应该从适配器中删除项目(甚至所有项目)并插入新项目?或其他什么?

编辑:我应该更好地解释一下情况 我使用Algolia存储一些数据,这些数据是在JSON对象中检索的。 然后获得的JSONArray作为字符串传递给适配器,它将解析字符串中的每个元素以及每个元素的相应数据。
由于每次写入(或删除)新字符时都会发出搜索,因此每次获得新的JSON响应时,它都可能与前一个相似,相同或完全不同。

2 个答案:

答案 0 :(得分:0)

只需添加新功能即可更新列表

public void updateList(List<DataHolder> list){
     displayedList = list;
     notifyDataSetChanged();
}

答案 1 :(得分:0)

您可以执行以下操作

mAdapter.notifyDataSetChanged();

或者你可以做,

mAdapter.notifyItemRangeChanged(position, list.size());

此外,您可以尝试以下操作来更新回收站视图

recyclerView.setAdapter(new RecyclerViewAdapter(newList));
recyclerView.invalidate();