我正在使用一个RecyclerView http://developer.android.com/reference/android/support/v7/widget/RecyclerView.html并以十个为一组从 API 获取对象。对于分页,我使用EndlessRecyclerOnScrollListener https://gist.github.com/ssinss/e06f12ef66c51252563e.
一切正常。现在剩下的就是在列表底部添加一个进度微调器,同时 API 获取下一批对象。这是 Google Play 商店应用程序的屏幕截图,显示了ProgressBar
在什么肯定是RecyclerView
:
问题是,两者都不是RecyclerView
也不EndlessRecyclerOnScrollListener
有内置支持显示ProgressBar
在获取下一批对象时位于底部。
我已经看到以下答案:
1. 放置一个不确定的ProgressBar作为页脚RecyclerView grid https://stackoverflow.com/a/28090719/3287204.
2. 将项目添加到无尽卷轴RecyclerView with ProgressBar在底部 https://stackoverflow.com/a/30691092/3287204.
我对这些答案不满意(都是同一个人)。这涉及到硬塞null
当用户滚动时,中途将对象放入数据集中,然后在下一批交付后将其取出。它看起来像是一个回避主要问题的黑客,可能会也可能不会正常工作。这会导致列表中出现一些不和谐和失真的情况
Using SwipeRefreshLayout http://developer.android.com/intl/ja/reference/android/support/v4/widget/SwipeRefreshLayout.html不是这里的解决方案。SwipeRefreshLayout
涉及从顶部拉取newest项目,而且它无论如何也不显示进度视图。
有人可以为此提供一个好的解决方案吗?我有兴趣了解 Google 如何在自己的应用程序中实现此功能(Gmail 应用程序也有)。有没有详细介绍这一点的文章?所有答案和评论将不胜感激。谢谢。
其他一些参考:
1. 分页与RecyclerView https://medium.com/@etiennelawlor/pagination-with-recyclerview-1cb7e66a502b#.amz3ekaxp。 (精彩的概述...)
2. RecyclerView页眉和页脚 https://stackoverflow.com/q/26585941/3287204。 (更多相同...)
3. Endless RecyclerView with ProgressBar在底部 https://stackoverflow.com/q/33118143/3287204.