如何在无限长度的列表视图中使用少量可绘制的图像



我在drawable中有3个图像,由于很难在drawaable中存储无限长度的列表视图的巨大图像文件,我想重复或随机地将这三个图像用于整个列表视图。要了解更多信息。。

  1. 在提交第三个数据后,我想一次又一次地为第四个数据提供第一个图像,为第五个数据提供第二个图像,并为第六个数据提供三个图像。看起来像

--------->第一个数据的第一个图像

--------------->第二个数据的第二个图像

--------------->第三个数据的第三个图像

--------------->第四个数据的第一个图像

--------------->第5个数据的第2个图像

--------------->第6个数据的第3个图像

--------------->第100个数据的第一个图像

等等,或者如果可能的话随机。

我认为我必须使用循环和必要条件来解决这个问题。但不知道该如何度过。有人能帮助我通过实现必要的代码来解决这个问题吗?

一些改进解决方案的建议。

您可以简单地获取mod(%(运算符的结果,并将其用于索引。

images[index] = images[index % 3]; 

这将返回0, 1, or 2并为您获得正确的图像,您不需要进行任何比较。

如果你想做随机图像,那也很简单。

首先,在循环之前创建一个新的Random对象。

Random random = new Random(); 

接下来,在循环中,您希望获得一个介于0和2之间的随机值。我们的上限是2

images[index] = images[random.nextInt(2)];

===============条件更新====================

哦,我刚刚解决了这个问题:D。这就是我所做的。

//从我已经存储的drawable中保存int类型数组中的图像。

images[0] = R.drawable.amin1;
images[1] = R.drawable.amin2;
images[2] = R.drawable.amin3;

//现在当我点击提交按钮时添加条件

if(index > 2)
{
if(index%3 == 0) { images[index] = images[0]; }
else if(index%2 == 0) { images[index] = images[1]; }
else { images[index] = images[2]; } 
}

这很简单。:(

最新更新