RecyclerView局部刷新参数 payloads

2021-08-26  本文已影响0人  吃掉你了喔

@(Alu)

先解释该参数作用

局部刷新时调用:
notifyItemChanged(int position, @Nullable Object payload)

后在Adapter的 onBindViewHolder(Presenter.ViewHolder viewHolder, Object item, List<Object> payloads, int position)
里获取并处理。

因此当我们想局部刷新时,可传入自己定义的参数,判断他不为空且等于该参数的时候,去做刷新操作

它为什么是个list

原因是notifyItemChanged可能在并发线程调用,因此payloads可以理解为一个同步消息队列。

参考:https://stackoverflow.com/questions/46753986/why-payloads-in-recyclerview-onbindviewholder-is-a-list

上一篇下一篇

猜你喜欢

热点阅读