我在res/drawable目录中有各种图像,我想从中获得一个随机图像,具有"module_"后缀,然后将其加载到一个可绘制的对象中。图像名称不是连续命名的,即1、2、3等,它们有不同的名称来描述它包含的内容。"苹果"、"香蕉"等什么好主意吗?
void populate() {
try {
ArrayList<Integer> number = new ArrayList<Integer>();
for (int i = 0; i <= 48; i++) // 1//
{
number.add(i + 1);
Log.i("nuber in loop ",number.add(i+1)+"");
}
Collections.shuffle(number);
Random r = new Random();
int Start = r.nextInt(number.size());
if (Start - 9 >= number.size() - 1)
Start -= 9;
Log.i("Start ",Start+"");
for (int i = 0; i <=8; i++)
{
String imgName = "img" + number.get(Start);
Log.i("imagename", imgName);
int id = getResources().getIdentifier(imgName, "drawable",
getPackageName());
Log.i("id", id + "");
ImgBtnArray[i].setImageResource(id);
Start++;
}
}
catch (Exception e) {
}
}
将放入上述函数中48是可从任意9张随机图片中抽取的图像总数,它也会检查是否允许复制
在上面,我把1到49张图片放入序列1.png,2.png中,这样更容易。我认为你可以这样创建字符串数组你可以这样做
我不认为它可能得到一个随机图像从可绘制的目录,所以我只是硬编码一个数组与图像和随机索引到。