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