recycleView简单lazyload

54 阅读1分钟

滑动列表复用回收一般情况recycleView已经处理好,某些情况recycleView失效或是自定义组件,要自己处理,这里给出一种简单的滑动列表复用回收方法。

滑动前 加载可见的item,不可见的使用空占位。

image.png

滑动过程,加载可见区域,以及前一屏和后一屏数据。回收不在范围内的。

image.png

计算加载index加载区间

for (index in 0 until mRv!!.childCount) {
  sum += mRv!!.getChildAt(index).measuredHeight
  if (sum >= startOffset && !startInit) {
    startInit = true
    start = index
  }
  if (sum >= endOffset && !endInit) {
    endInit = true
    end = index
  }
}

if(startInit) {
sendLoadEvent()
}


start

end