一种方法是使用所需图像的id创建一个数组.并从该数组中随机取一个.其他答案解释了这种方法.
另一种方法是在项目的values文件夹中创建文件random_images_array.xml并填充如下:
@drawable/image_1
@drawable/photo_2
@drawable/picture_4
然后你可以从那个xml数组中随机获取图像:
final TypedArray imgs = getResources().obtainTypedArray(R.array.random_images_array);
final Random rand = new Random();
final int rndInt = rand.nextInt(imgs.length());
final int resID = imgs.getResourceId(rndInt, 0);
第三种方法是从R.drawable类中获取随机字段:
final Class drawableClass = R.drawable.class;
final Field[] fields = drawableClass.getFields();
final Random rand = new Random();
int rndInt = rand.nextInt(fields.length);
try {
int resID = fields[rndInt].getInt(drawableClass);
img.setImageResource(resID);
} catch (Exception e) {
e.printStackTrace();
}