2

我们使用DiffUtil.CalculateDiff自定义DiffUtil.Callback来处理对基础数据的更改。

  • 我们元素的标识相当复杂,这就是我们使用自定义相等检查areContentsTheSameareItemsTheSame.

  • 但是,适配器有两个东西hasStableIdsgetItemId.

问题是getItemId返回 along并且我们元素的标识不能以long稳定的方式合并为 a (尽管考虑到我们在 diffutil 回调中的自定义相等检查,否则稳定。

问题是这样的:

在这种情况下如何处理,hasStableIds以及getItemId当 DiffUtil 将更改推送到适配器时是否使用了这些?

4

1 回答 1

0

我不知道马厩在后台实际做了什么,但它用于保持元素有序并删除任何错误的东西。

于 2019-03-08T09:00:13.970 回答