我在res / drawable目录中有各种图像,我想从中获取一个带有“module_”后缀的随机图像,然后将其加载到一个可绘制的对象中。图像名称不是连续命名的,即1,2 ,3等,他们有不同的名称描述它包含什么,即“苹果”,“香蕉”等 有什么想法吗?
答案 0 :(得分:0)
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 randm img我将得到它将检查不允许重复没有也
在上面我的1到49 imgs到序列1.png,2.png lyk那是更简单的方法..我想你可以创建字符串数组可能就是这样你可以做的
答案 1 :(得分:0)
我不认为从drawable目录中获取一个随机图像是可能的,所以我只是用图像硬编码一个数组并随机索引到那个。