触底刷新实现
使用BaseQuickAdapter,在适配器中实现 LoadMoreModule即可,如下加上即可,无需多写代码
以下为分页实现:
视图中
// 获取加载更多模块loadMoreModule = blogAdapter.getLoadMoreModule();loadMoreModule.setOnLoadMoreListener(new OnLoadMoreListener() {@Overridepublic void onLoadMore() {//此方法会执行很多次,要判断if (blogCount == 0 || blogCount < (long) pageNum *pageSize) {loadMoreModule.loadMoreEnd(); //加载结束return;}blog_recycleView.postDelayed(new Runnable() {@Overridepublic void run() {// 触发加载更多数据的操作Log.d("触底", "加载");explorePresenter.getBlogs(pageNum, pageSize); //网络请求}}, 1000);}});public void showBlogs(List<Blog> blogList, long blogCount) {this.blogCount = blogCount; //最大数量,用于判断是否加载完成blogAdapter.addData(blogList);loadMoreModule.loadMoreComplete(); // 标记加载更多完成pageNum++; //记录当前页码}
参考:https://github.com/CymChad/BaseRecyclerViewAdapterHelper/issues/1704