我正在尝试生成随机动画以加载ImageView
。它有效,但仅在某些时候。选择了三个动画后,它将抛出一个ArrayIndexOutOfBoundsException
,我不确定为什么。如果我捕获到异常,将随机选择三个动画,然后将不加载任何动画。
final int[] anim = { R.anim.anim_0, R.anim.anim_1, R.anim.anim_2,
R.anim.anim_3, R.anim.anim_4, R.anim.anim_5 };
Random ran = new Random();
int i = ran.nextInt(6 - 1);
mAlbum.startAnimation(AnimationUtils.loadAnimation(
getBaseContext(), anim[i++]));
最佳答案
请尝试使用anim[ran.nextInt(anim.length)]
。这将从零(包括)到数组中元素的数量(不包括)中选择一个数字,并防止发生异常。
int i = ran.nextInt(anim.length);
mAlbum.startAnimation(AnimationUtils.loadAnimation(
getBaseContext(), anim[i]));
关于java - 无法生成随机动画,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9043289/