相关疑难解决方法(0)

如何创建一个封闭(循环)ListView?

我想创建一个自定义ListView(或类似),其行为类似于封闭(循环)的:

  1. 向下滚动 - 在到达最后一个项目后第一个开始(..,n-1,n,1,2,...)
  2. 向上滚动 - 在第一个项目到达后,最后一个开始(...,2,1,1,n,n-1,..)

这在概念上听起来很简单,但显然,没有直接的方法来做到这一点.谁能指出我正确的解决方案?谢谢 !

我已经收到一个答案(来自Streets Of Boston的Android开发者谷歌团体),但听起来有些丑陋:) -

我这样做是通过创建自己的列表适配器(从BaseAdapter子类).

我编写了自己的列表适配器,其getCount()方法返回一个HUUUUGE编号.

如果选择项'x',则此项对应于适配器位置='adapter.getCount()/ 2 + x'

对于我的适配器的方法getItem(int position),我查看我的数组备份适配器并获取索引上的项目:(position-getCount()/ 2)%myDataItems.length

你需要做一些更"特殊"的东西才能使它完全正常工作,但你明白了.

原则上,它仍然可以到达列表的结尾或开头,但如果你将getCount()设置为大约一百万左右,这很难做到:-)

customization android listview circular-buffer

57
推荐指数
3
解决办法
3万
查看次数

循环RecyclerView

假设我们有以下一组项目视图:

View1 -> View2 -> View3 -> ... -> View(n-1) -> View(n)
Run Code Online (Sandbox Code Playgroud)

在经典的RecyclerView上,View1将位于第一个位置,View(n)位于最后一个位置.现在我想制作那个循环,所以在最后一个位置之后我们再次滚动到第一个位置:

View1 -> View2 -> View3 -> ... -> View(n-1) -> View(n) -> View1 -> View2 -> ...
Run Code Online (Sandbox Code Playgroud)

这看起来很简单,但我不确定如何在View(n)之后完成"重置".任何建议都会非常有用.谢谢.

android android-recyclerview

5
推荐指数
2
解决办法
4023
查看次数