相关文章:https://juejin.cn/post/7156512023973462053#heading-1
调用 notifyItemChanged(int position, @Nullable Object payload) 是否传递payload回调方法都是一样的,都是
onBindViewHolder(VH holder, int position, List<Object> payloads) ->onBindViewHolder(holder, position);
区别在于 如果设置payload,刷新的时候对应的item会放置在mAttachedScrap,不设置放在mChangedScrap,区别是mAttachedScrap不会清空item上绑定的数据而mChangedScrap会清空数据。
所以大家说的payload可以局部刷新的意思应该是调用notifyItemChanged如果设置payload,即使在onBindViewHolder中什么也不做,那么他展示的也是上次设置的属性,我们可以根据payload的值,选择性的更改状态。
网友评论