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);

你可能感兴趣的:(RecylerView实现下拉到底加载更多数据)