小编use*_*076的帖子

如何创建一个封闭(循环)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万
查看次数