XRecyclerView icon indicating copy to clipboard operation
XRecyclerView copied to clipboard

当数据过少无法上拉加载更多

Open zhonglinhong opened this issue 7 years ago • 10 comments

测试发现,当我数据过少时下面这个判断语句内的代码没有执行 if (layoutManager.getChildCount() > 0 && lastVisibleItemPosition >= layoutManager.getItemCount() - 1 && layoutManager.getItemCount() > layoutManager.getChildCount() && !isNoMore && mRefreshHeader.getState() < ArrowRefreshHeader.STATE_REFRESHING) { isLoadingData = true; if (mFootView instanceof LoadingMoreFooter) { ((LoadingMoreFooter) mFootView).setState(LoadingMoreFooter.STATE_LOADING); } else { mFootView.setVisibility(View.VISIBLE); } mLoadingListener.onLoadMore(); } 详细测试发现layoutManager.getItemCount() > layoutManager.getChildCount() 这个判断为false,测试页面添加了两个header,使用GridLayout显示3列,默认加载了三个子布局,这时layoutManager.getItemCount()=3;layoutManager.getChildCount()=7。 这个判断是用来做什么的呢,我屏蔽了这个条件就可以触发上拉加载更多

zhonglinhong avatar Mar 15 '17 02:03 zhonglinhong

同问,我也遇到了这个问题,不管是gridLayoutManager或者是LinearLayoutManager都有可能遇到这个问题

jiaziang avatar Apr 10 '17 11:04 jiaziang

同问。。。貌似好久不更新 了

supeijin avatar Apr 19 '17 02:04 supeijin

在数据不满一屏的情况下禁止加载更多,理由是数据都不满,哪来的更多

jianghejie avatar Apr 24 '17 01:04 jianghejie

我也遇到了,怎么解决

CCTV-11 avatar Jul 25 '17 04:07 CCTV-11

我也发现有这个问题了,有这个问题了。

xiayu98020214 avatar Jul 25 '17 05:07 xiayu98020214

数据不满当然要禁止上拉加载,不满时如果要获取新的数据,根据逻辑当然是执行下拉刷新来获取。

LRL1051638217 avatar Aug 10 '17 06:08 LRL1051638217

楼上说“数据不满当然要禁止上拉加载”当然不合理呀,假设第一页只展示两条数据,点击“查看等多”加载10条数据。

duyb avatar Aug 24 '17 09:08 duyb

上拉加载 要执行的当然是加载以前内容的逻辑,而当前只显示2条则意味着旧数据仅有2条,要想获取新数据,此时不理所当然的应该下拉刷新么? 查看更多,难道新加载出来的数据是比之前显示的还要新么?否则,那就不能算load了吧,我认为这是该让Refresh去做的工作。

LRL1051638217 avatar Aug 25 '17 04:08 LRL1051638217

比如 我是有20条数据的,但是有删除功能,删的不足一屏幕,那此时就不能加载更多了,其实更多还是有数据的(服务器还是有数据的),只是没办法加载更多了

zhou-you avatar Aug 31 '17 11:08 zhou-you

在数据不满一屏的情况下禁止加载更多,理由是数据都不满,哪来的更多

我觉得大家遇到的这个问题的现象是这样的: 第一页的数据条数在不同手机上是不一样的,比如在小屏机上充满一屏只要10条,到大屏机上却要18条,然后同样的代码在大屏机上执行就出现了上拉无法加载更多的情况,这归结起来是适配兼容问题

xmliu avatar Jun 06 '19 07:06 xmliu