我在drawable中有3个图像,由于很难在drawaable中存储无限长度的列表视图的巨大图像文件,我想重复或随机地将这三个图像用于整个列表视图。要了解更多信息。。
- 在提交第三个数据后,我想一次又一次地为第四个数据提供第一个图像,为第五个数据提供第二个图像,并为第六个数据提供三个图像。看起来像
--------->第一个数据的第一个图像
--------------->第二个数据的第二个图像
--------------->第三个数据的第三个图像
--------------->第四个数据的第一个图像
--------------->第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]; }
}
这很简单。:(