recyclerview diffutil结果不正确

时间:2018-12-06 07:59:35

标签: android-recyclerview

我在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();*/
}

0 个答案:

没有答案