Closed stoneLee81 closed 7 years ago
你的版本是?
2.6.4的版本
更新至最新版本,然后按照demo上方法使用。
升到了2.8.0, mRecyclerView.postDelayed(() -> { crital.setPage(crital.getPage()+1); loadData(crital.getTypeEnum(), LoadEnum.LOADMORE); }, 1000); 还是重复刷新
如果不满一屏会自动回调onLoadMoreRequested
,外部有Scrollview吗?
没有使用scrollview,activity 里用的fragment
贴一下代码,只要不调用loadMoreComplete就不会去回调onLoadMoreRequested
我在加载完毕后,调用了loadMoreComplete DEMO里不也是在加载完毕,调用了么?
如果没有更多数据了要调用loadMoreEnd(boolean)
,否则会回调onLoadMoreRequested
不要嵌套,嵌套复用机制就没了,可以addHeaderView
@stoneLee81 问题解决没?
@CymChad 还是没解决
还存在上述问题?你的代码调用是按照wiki或demo里面的步奏来的吗?如果可以的话你可以把你现在的代码贴全一些让我们更快的找到问题。
@stoneLee81 你是怎么解决的 怎么close了 我也存在这个问题 调用refresh之后 还会调用loamore至少一次 有时甚至2、3次
版本:2.9.10 refreshLayout嵌套RecyclerView下拉刷新,数据不满一屏,会调用一次onLoadMoreRequested。
@9h0st @CrazyStoneJy 下拉刷新数据时需要判断下数据是否还有下一页,如果没有需要调用loadMoreEnd关闭加载更多。比如setNewData传入的大小是1的话(不满一屏)会回调加载更多,如果一屏以上滑动到底部触发。
在使用加载更多时 onLoadMoreRequested
// loadData部分代码 if(loadEnum == LoadEnum.LOADMORE) { mAdapter.addData(list); // mAdapter.notifyDataSetChanged(); }else{ mAdapter.setNewData(list); }
// onloadmore 监听部分代码 @Override public void onLoadMoreRequested() { Log.i(TAG, "onLoadMoreRequested: "); crital.setPage(crital.getPage()+1); loadData(crital.getTypeEnum(), LoadEnum.LOADMORE); }
如果不加入notifyDataSetChanged就会出现重复加载的情况,如果加入了加载正常,但会出现闪屏 (我已经加入了避免闪屏的代码 mRecyclerView.getItemAnimator().setChangeDuration(0);,在不使用notify时,不闪屏正常) 好纠结。。。。