【发布时间】:2015-09-24 01:18:58
【问题描述】:
我正在尝试让我的 RecyclerView 循环回到我列表的开头。
我在整个互联网上进行了搜索,并设法检测到我何时到达了列表的末尾,但是我不确定从哪里开始。
这是我目前用来检测列表末尾的(找到here):
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
visibleItemCount = mLayoutManager.getChildCount();
totalItemCount = mLayoutManager.getItemCount();
pastVisiblesItems = mLayoutManager.findFirstVisibleItemPosition();
if (loading) {
if ( (visibleItemCount+pastVisiblesItems) >= totalItemCount) {
loading = false;
Log.v("...", ""+visibleItemCount);
}
}
}
当滚动到末尾时,我希望视图在从列表顶部显示数据时可见,或者当滚动到列表顶部时,我会从列表底部显示数据。
例如:
查看1 查看2 查看3 查看4 查看5
查看5 查看1 查看2 查看3 查看4
【问题讨论】:
-
@DamianKozlak RecyclerView 与 ListView 不同
-
@ChadBingham 当然不是,但是可以使用与
ListView中相同的解决方案来解决此问题。ListView和RecyclerView适配器都有getCount()和getItem()方法。 -
您找到解决方案了吗?我正在解决同样的问题,目前我正在考虑编写一个从 LinearLayoutManager 扩展的自定义 LayoutManager。你有没有实现过你的目标?
-
是的,Sebastian 下面的回答对我有用。这是我找到的最简单的解决方案。
标签: android android-recyclerview