SwipeToLoadLayout icon indicating copy to clipboard operation
SwipeToLoadLayout copied to clipboard

上拉加载更多,加载完成后能否让加载的数据直接在FooterView的位置显示,不让recycleview向下回弹到底部

Open CoderBuck opened this issue 9 years ago • 6 comments

“下拉加载完毕时,目前是隐藏进度加载指示器,然后 recycleview 回弹到底部,这样别人就看不到加载成功的内容,能否把显示进度指示器这块内容用来显示加载更多的内容呢,这样效果是否更好呢?”

CoderBuck avatar Sep 07 '16 12:09 CoderBuck

是的,这也是我发现的问题,还有下拉刷新的时候头部怎么不让它悬浮在上面,跟着viewgroup 滑动。

niugehaoshuai avatar Nov 18 '16 07:11 niugehaoshuai

这个问题现在还是有的,我也出现了,但是我不知道在哪里修改

xiaoDongBei90 avatar Jan 13 '17 09:01 xiaoDongBei90

有一个workaround。 在setLoadingMore(false)之后,一定在这之后,而且一定还要在recyclerview的notifyDataSetChanged之后,调用: new Handler.post(new runnable() { void run() { mRecyclerView.smoothScrollTo(新数据的第一个position) } }); 如果是ScrollView,就mScrollView.smoothScrollBy(0, 想要向上滚动的px数); 之所以要在那些之后,是为了让视图稳定下来,都重新layout/resize了。 注意,一定要用post,不能直接调,否则视图会因没有重新layout/resize而不滚动。

@Aspsine 上边只是个work around,希望提供更多样式,比如header/footer的fade in/out,不只是依赖Scroller。

macarthor avatar Jan 14 '17 14:01 macarthor

对,也遇到这个问题了,建议作者优化一下这部分体验,感谢。

callhh avatar Jul 29 '17 00:07 callhh

赞。在我手动解决RecycleView总是回跳到顶部的问题后, 现在看这个问题的角度和之前不一样了。

之前以为是,刷新后,整个RecyclerView回跳到position的0索引位置。解决办法是,RecyclerView的adapter只set一次,此后直接操作adapter,notifyDataSetChanged()或者notifyItemRangeChanged()。

然后我自己的问题得到基本解决。

现在看大佬们的讨论,似乎是刷新后需要跳到最新的Item的Footer? 我目前没有这需求,不知道

**    adapter里面的notifyXXX    **    

的诸多方法,能不能解决大佬们的需要?

。 。。 。。。

hanshou101 avatar Aug 03 '17 10:08 hanshou101

同样有这个需求,希望作者改善一下

liuy9 avatar Aug 24 '17 08:08 liuy9