我在recyclerview数据上使用Arraylist>。
我创建了该链接,如下所示。 Smart way to update RecyclerView using DiffUtil
如果oldList为['1'],则当我添加2时,diffutil结果为[2,1]。
在其他情况下,oldList为[2,1],当我加3时,结果为[3,1,1]。
第二个数据不见了!
列出了什么?
-
Diffclass与上面的链接相同。
这是列表数据更改方法。
public void changeItemList(ArrayList<Map<String, Object>> newList) {
final CommentListDiffCallback diffCallback = new CommentListDiffCallback(list, newList);
final DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(diffCallback);
list.clear();
list.addAll(newList);
diffResult.dispatchUpdatesTo(this);
/*list.clear();
list.addAll(newList);
notifyDataSetChanged();*/
}