RecylerView实现下拉到底加载更多数据

写代码之前,先得思考一下,我是这样想的,监听item的位置,如果是滑动到最后一项,触发加载更多的事件,所以难点是如何监听到滑动到最后一项item?

强大的RecylerView已经为我们提供了类似的方法:通过RecylerView的布局管理器mRecylerViewLayoutManager.findLastVisibleItemPosition()就可以得到最后一项的position

具体请看代码:

recyclerView.addOnScrollListener(newRecyclerView.OnScrollListener() {@Overridepublic voidonScrolled(RecyclerView recyclerView,intdx,intdy){super.onScrolled(recyclerView,dx,dy);lastVisibleItemPosition=recylerviewLayoutManager.findLastVisibleItemPosition();if(lastVisibleItemPosition+1>=adapter.getItemCount()){pageNum++;//如果已经滑动到最后一项,加载新的数据loadData();}    }@Overridepublic voidonScrollStateChanged(RecyclerView recyclerView, intnewState) {super.onScrollStateChanged(recyclerView,newState);}});

已经加载了新的数据,这时只需要把新的数据加到适配器的数据中。

adapter,addAll(list);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容