如何循环浏览 Android RecyclerView 中的项目?
我想要一个水平滚动的 RecyclerView。当到达右侧的末尾时,它只是通过重新启动项目列表来继续滚动。左边也一样。
例如:
元素 list :0,1,2,3,4,5,6,7,8,9
起始 View 显示:0,1,2,3,4,5,6,7
向右滚动 5 个项目后:5,6,7,8,9,0,1,2
向左滚动 2 个项目后:8,9,0,1,2,3,4,5
最佳答案
另一个想法是,让您的适配器的 getItemCount()
返回 Integer.MAX_VALUE
然后为了获取您的项目,您将调用 itemsList。获取(位置 % list.size)
。
这样,当滚动超出实际列表大小时,它会从 0 重新开始,并在最后一个元素之后显示列表的第一个元素。
还可以在 LayoutManager
上调用 scrollToPosition(int x)
,其中 x % yourList.size() == 0
和 x在某处接近 Integer.MAX_VALUE/2
,这样滚动看起来就像是无限的(从起点开始在每个方向上都有大约 10 亿个位置)。
正如评论中指出的,如果列表大小为 0,getItemCount
应该返回 0。例如
return list.size == 0 ? 0 : Integer.MAX_VALUE
关于java - 如何循环浏览 Android RecyclerView 中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38563932/