我正在尝试创建一个列表视图来垂直显示图像。当用户滚动到列表末尾时,如果有一种方法可以在列表视图中重复图像,那我就是在思考。例如如果列表有3个图像,则向下滚动到第3个和最后一个图像后,相同的图像应再次以1,2,3顺序重复。所以请给观众一个圆形的重复效果。列表视图之外还有其他选项吗?
感谢任何建议。
答案 0 :(得分:0)
您可以使用自定义适配器实现此效果。
如果您愿意,CommonsWare已经制作了一个可以重复使用的:cwac-endless
如果你想自己创造它,你当然可以这样做。在适配器内部,您需要从Integer.MAX_VALUE
方法返回getCount()
。
然后在你的getView()
使用模数中将一个较大的数字“转换”为一个范围内的数字,以确定你实际拥有多少项目。即如果你有一个图像ID数组,你可以在你的getView()中做这样的事情:
mImgView.setImageResource(imgs[pos % 3]);
你可以在getItem()内部执行模数而不是实际的getView(),这可能是一个更好的主意。