java - 如何循环浏览 Android RecyclerView 中的项目?

标签 java android android-recyclerview

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

相关文章:

java - 在 Recyclerview 中使用 picasso 时出现 IllegalArgumentException : Context must not be null.

java - 隐式等待不工作

java - 如何从网页上的链接部署JFrame接口(interface)?

JavaFX : Update UI label asynchronously with messages while application different methods execution

android - 为什么我得到一个 null.p.ex。在 startForegrund 上?

android - RecyclerView 项目有时无法正确显示,直到我滚动(仅在 Genymotion 平板电脑上)

android - RecyclerView 展开/折叠项目

java - Java获取无线网络的SSID等信息

java - Android 在 fragment 之间滑动

android - 如何使用 eclipse 从 cordova android 3.2 升级到 3.3?