如何从2中加载随机图像?
我试过这段代码
final Random rgenerator = new Random();
Integer [] mImageIds =
{
R.drawable.mantrans,
R.drawable.womentrans,
};
Integer q = mImageIds[rgenerator.nextInt(mImageIds.length)];
gBall1 = BitmapFactory.decodeResource(getResources(), q);
但它不起作用......
请帮忙
答案 0 :(得分:1)
这对你有用..
/////*****Random numbers with out repetation*****//////
final int[] imageViews = {
R.id.imgview11, R.id.imgview12, R.id.imgview13 };
final int[] images = {
R.drawable.i1, R.drawable.i2, R.drawable.i3 };
Random rng = new Random();
List<Integer> generated = new ArrayList<Integer>(maxNoOfImages);
for (int i = 0; i < maxNoOfImages; i++) {
while(true) {
Integer next = rng.nextInt(maxNoOfImages);
if (!generated.contains(next)) {
ImageView iv = (ImageView)findViewById(imageViews[i]);
iv.setImageResource(images[next]);
generated.add(next);
break;
}
}
}
答案 1 :(得分:0)
这对于这么简单的任务来说太过分了。但我还没有真正使用过Random类。这是另一种方法。
ArrayList<Integer> ids = new ArrayList<Integer>();
ids.add(R.drawable.mantrans);
ids.add(R.drawable.womentrans);
Collections.shuffle(ids);
gBall1 = BitmapFactory.decodeResource(getResources(), ids.get(0));
你可能需要添加更多的id,因为在2个选项中随机获得可能不像pents90那样随机。