zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    15、线程
    17、lambda表达式
    16、sockect
    14、反射(reflect)
    13、集合2
    java 基本类型、包装类、字符串之间的转换
    13、集合1
    12、NIO、AIO、BIO二
    12、NIO、AIO、BIO一
    11、流与文件
  • 原文地址:https://www.cnblogs.com/acg88688/p/11870598.html
Copyright © 2011-2022 走看看