在DiffUtil.Callback中使用getChangePayload(int oldItemPosition,int newItemPosition)的用途是什么

时间:2017-02-09 13:34:42

标签: java android android-support-library android-developer-api

DiffUtil.Callback有方法

getChangePayload(int oldItemPosition, int newItemPosition)

  

当areItemsTheSame(int,int)为两个项返回true并且areContentsTheSame(int,int)为它们返回false时,DiffUtil调用此方法以获取有关更改的有效负载。

     

例如,如果您将DiffUtil与RecyclerView一起使用,则可以   返回项目中更改的特定字段和您的   ItemAnimator可以使用该信息来运行正确的动画。

     

默认实现返回null。

压倒这种方法有什么好处?

我该如何使用它?

1 个答案:

答案 0 :(得分:-1)

它与RecyclerView中的部分和完全绑定的概念有关

detailed answer