如何在Android RecyclerView中循环浏览项目?

时间:2016-07-25 09:19:22

标签: java android android-recyclerview

如何循环浏览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

2 个答案:

答案 0 :(得分:6)

另一个想法是,getItemCount()您的适配器返回Integer.MAX_VALUE然后为了获得您的项目,您应该以{{1​​}}这样滚动超出您的实际列表大小从0开始,并在最后一个之后显示列表的第一个元素

还有一件事可能是itemsList.get(position % list.size) scrollToPosition(int x)上的LayoutManagerx % 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的状态。 如我错了请纠正我。谢谢你的帮助