我正在尝试生成随机动画以加载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/

10-10 20:09