Baserecyclerviewadapterhelper: 使用mAdapter.loadMoreComplete();会触发setOnLoadMoreListener然后一直循环load

Created on 19 Dec 2019  ·  14Comments  ·  Source: CymChad/BaseRecyclerViewAdapterHelper

mAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
// @Override
// public void onLoadMoreRequested() {
// page++;
// getProjectUserList();
// }
// }, mRecycleView);

//这是获取数据之后 掉用loadMoreComplete()还是会触发 setOnLoadMoreListener
if (newDescBeans.data.page == newDescBeans.data.allPage) {
// //第一页如果不够一页就不显示没有更多数据布局
// mAdapter.loadMoreEnd();
// } else {
// mAdapter.loadMoreComplete();
// }

All 14 comments

addData,再mAdapter.loadMoreComplete()

先addData,再mAdapter.loadMoreComplete()

我使用的是androidX版本的

看下你的RecyclerView是否被NestedScrollView包裹着、我今天就是给这个坑了

用了swipeRefreshLayout

看下你的RecyclerView是否被NestedScrollView包裹着、我今天就是给这个坑了

我的也是会一直加载...怎么解决的?

还没解决😂😂

我的也是,androidX的,同样的问题

搞死了。。。。同样的问题,看这样子难道只能自己加了么。嵌套了NestedScrollView

我已经放弃了这个上拉加载,用了自己定义得,你也可以用smartRefreshLayout得,这个不会冲突

------------------ 原始邮件 ------------------
发件人: "Jarry"<[email protected]>;
发送时间: 2020年1月15日(星期三) 下午3:39
收件人: "CymChad/BaseRecyclerViewAdapterHelper"<[email protected]>;
抄送: "徐银双"<[email protected]>;"Author"<[email protected]>;
主题: Re: [CymChad/BaseRecyclerViewAdapterHelper] 使用mAdapter.loadMoreComplete();会触发setOnLoadMoreListener然后一直循环load (#2985)

搞死了。。。。同样的问题,看这样子难道只能自己加了么。嵌套了NestedScrollView


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

搞死了。。。。同样的问题,看这样子难道只能自己加了么。嵌套了NestedScrollView

说一下间接的处理方法:
1、使用添加headerView的方式,这样就不需要外面嵌套ScrollView(多Item的处理方式也可以);
2、对于添加headerView,但是为空时需要显示的,可以多放一个重复布局,用于数据为空时,headerView也显示的备用显示布局

我也是这个问题,用了NestedScrollView
getLoadMoreModule().setEnableLoadMoreIfNotFullPage(false)可以解决这个问题,但是调用后只能手动点击加载更多
或者改成ScrollView
或者不用NestedScrollView、ScrollView,把其他视图以HeaderView、FootView的方式设置到RecyclerView中(相当于整个页面只有一个RecyclerView)

对于CoordinatorLayout、NestedScrollView 这种造成的 onLoadMoreRequested() 多次调用问题,
提供一个简单的规避方法:在 onLoadMoreRequested() 中,先执行 recyclerView.stopScroll(),然后再做去请求,就不会发生多次调用的问题了。

我也是这个问题,用了NestedScrollView
getLoadMoreModule().setEnableLoadMoreIfNotFullPage(false)可以解决这个问题,但是调用后只能手动点击加载更多
或者改成ScrollView
或者不用NestedScrollView、ScrollView,把其他视图以HeaderView、FootView的方式设置到RecyclerView中(相当于整个页面只有一个RecyclerView)

新版本可以第一种方式

Was this page helpful?
0 / 5 - 0 ratings