recyclerview刷新
Posted acg88688
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了recyclerview刷新相关的知识,希望对你有一定的参考价值。
notifyDataSetChanged()
调用此方法后,仅刷新屏幕以内的item,当下次滑动让屏幕外item进来,则再执行onBindViewHolder()进行刷新
notifyItemChanged(int position)
仅更新指定的position的item
notifyItemRangeChanged()
position数据发生了改变,那调用这个方法,就会回调对应position的onBindViewHolder()方法了,因为ViewHolder是复用的,
所以如果position在当前屏幕以外,也就不会回调了,下次position滚动会当前屏幕以内的时候同样会调onBindViewHolder()方法刷新数据了。
notifyItemInserted(position :int)
这个方法是在第position位置被插入了一条数据的时候可以使用这个方法刷新
notifyItemMoved(int fromPosition, int toPosition)
这个方法是从fromPosition移动到toPosition为止的时候可以使用这个方法刷新
notifyItemRangeInserted(int positionStart, int itemCount)
批量添加。
notifyItemRemoved(int position)
第position个被删除的时候刷新,同样会有动画。
notifyItemRangeRemoved(int positionStart, int itemCount)
批量删除。
notifyDataSetChanged---→RecyclerviewDataObserver的onChanged函数,在该函数中调Recyclerview的requestLayout函数重新布局。他的重新布局交给 LayoutManager对象
使用setLayoutManager(),在设置了布局管理器后,调用requestLayout函数进行布局,LayoutManager中执行测量绘制操作,通过get
https://www.kancloud.cn/alex_wsc/android_framework/508113
以上是关于recyclerview刷新的主要内容,如果未能解决你的问题,请参考以下文章
Android RecyclerView嵌套RecyclerView
在RecyclerView中遇到onClickListener问题[重复]