Android 自定义RecyclerView实现监听到底部事件
2020-11-21 本文已影响0人
冬日暖雨
本人小白,发个文章记录一下学习成果
首先新建一个类继承RecyclerView,然后实现三个构造方法
![](https://img.haomeiwen.com/i11045699/67d5eedeef7a316f.jpg)
因为我们要监听滑到底部,所以要写个接口
![](https://img.haomeiwen.com/i11045699/5889827a122b7004.jpg)
接下来就是重写onScrolled,onscrollChanaged也可以
在重写方法里面判断是否划到底部,就是判断是否滑到到最后一个item
首先, 得到RecyclerView的布局管理器
LayoutManager manager = getLayoutManager();
如果是LinearLayoutManager和GridLayoutMangaer,可以直接用findLastCompletelyVisibleItemPosition得到最后一个显示的item,这个返回的是最后一个item的position,我们就可以用if判断一下。
判断首先得到adapter的itemcount也就是代码getAdapter().getItemCount()
![](https://img.haomeiwen.com/i11045699/0d732136a9f1bb94.jpg)
StaggeredGridLayoutManager就比较麻烦一点了
他有findLastCompletelyVisibleItemPositions方法,不过他返回的是int数组,要得到就只能取最大值。
![](https://img.haomeiwen.com/i11045699/09ba214a0207b259.jpg)
![](https://img.haomeiwen.com/i11045699/0b2b2cdb2326856a.jpg)
然后在activity setOnLoadMoreListener就可以了