如何循环浏览Android RecyclerView中的项目?
我想要一个水平滚动的RecyclerView。当结束到达右侧时,它只需通过重新启动项目列表继续滚动。同样在左边。
例如:
项目清单:0,1,2,3,4,5,6,7,8,9
起始视图显示: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
答案 0 :(得分:6)
另一个想法是,getItemCount()
您的适配器返回Integer.MAX_VALUE
然后为了获得您的项目,您应该以{{1}}这样滚动超出您的实际列表大小从0开始,并在最后一个之后显示列表的第一个元素
还有一件事可能是itemsList.get(position % list.size)
scrollToPosition(int x)
上的LayoutManager
和x % yourList.size() == 0
接近Integer.MAX_VALUE / 2
,这样滚动看起来就像无限(约10亿)从起点开始的每个方向的位置)
正如评论中所指出的,如果列表大小为0,则getItemCount
应返回0.例如
return list.size == 0 ? 0 : Integer.MAX_VALUE
答案 1 :(得分:-1)
我有这样的想法 首先制作新列表= 3x原始列表
original list: 0,1,2,3,4,5,6,7,8,9
new list : 0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9
首次显示RecyclerView
时,您应该将RecyclerView
向右滚动10个项目(10是原始列表的大小)。然后,如果用户向左或向右滚动少于10个项目,它将像圆圈一样工作。
当它们到达右侧或左侧时,您应该将RecyclerView
滚动回第一次显示RecyclerView
的状态。
如我错了请纠正我。谢谢你的帮助