Android 如何在无限长的listview中使用少量可绘制图像?
我在drawable中有3个图像,由于很难在drawable中存储无限长的listview的巨大图像文件,我想在整个listview中重复或随机使用这三个图像。为了更清楚地了解Android 如何在无限长的listview中使用少量可绘制图像?,android,listview,android-imageview,android-drawable,custom-lists,Android,Listview,Android Imageview,Android Drawable,Custom Lists,我在drawable中有3个图像,由于很难在drawable中存储无限长的listview的巨大图像文件,我想在整个listview中重复或随机使用这三个图像。为了更清楚地了解 在提交第三个数据后,我希望第四个数据有第一个图像,第五个数据有第二个图像,第六个数据有第三个图像。 看起来像 ------>第一个数据的第一个图像 ------>第二个数据的第二个图像 ------>第三个数据的第三个图像 ------>第四个数据的第一个图像 ------>第五个数据的第二个图像 ------>第6个数
我想我必须使用循环和必要条件来解决这个问题。但不知道如何度过。有人能帮我解决这个问题,并实施必要的代码吗?=========================条件更新==================== 哦,我刚刚解决了这个问题: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]; }
}
这很简单。:) 一些改进解决方案的建议 您只需获取mod(
%
)运算符的结果,并将其用于索引
images[index] = images[index % 3];
这将返回0、1或2
,并为您获得正确的图像,您无需进行任何比较
如果你想做随机图像,那也很简单
首先,在循环之前创建一个新的Random
对象
Random random = new Random();
接下来,在循环中,您希望得到一个介于0和2之间的随机值。我们通过2
作为上限
images[index] = images[random.nextInt(2)];
我已经解决了我的问题。顺便说一下,我认为第一个条件可以多次接收相同的图像。是的,第二个更适合于随机生成。谢谢你的合作。:)第一个使用mod的示例将给出1,2,3,1,2,3。。。你正在寻找的图像模式,不需要做任何if语句。是的,我只是错过了某个地方D谢谢你!