【发布时间】:2014-01-23 01:17:29
【问题描述】:
我有 25 个图像按钮和 1 个随机播放按钮。当我单击随机播放按钮时,按钮将随机显示图片,不重复。我的问题是每次单击随机播放按钮时都会出错。它说:“不幸的是,'App_Name' 已停止。”请帮帮我。 :(
Shuffle.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
final int[] easy1 = {R.drawable.a11,R.drawable.a12,R.drawable.a13,R.drawable.a14,R.drawable.a15
,R.drawable.a16,R.drawable.a17,R.drawable.a18,R.drawable.a19,R.drawable.a110
,R.drawable.a111,R.drawable.a112,R.drawable.a113,R.drawable.a114,R.drawable.a115
,R.drawable.a116,R.drawable.a117,R.drawable.a118,R.drawable.a119,R.drawable.a120
,R.drawable.a121,R.drawable.a122,R.drawable.a123,R.drawable.a124};
int[] a = new int[25];
int i = 0;
int j = 0;
boolean flag = false;
flag = false;
i = 1;
a[j] = 1;
while (i <= 24){
rnd = (int)((Math.random() * 24)+1);
for (j = 1; j <= i; j++){
if (a[j] == rnd)
{
flag = true;
}
}
if (flag == true)
{
flag = false;
}
else
{
a[i] = rnd;
i = i + 1;
}
}
iv1.setImageResource(easy1[a[1]]);
iv2.setImageResource(easy1[a[2]]);
iv3.setImageResource(easy1[a[3]]);
iv4.setImageResource(easy1[a[4]]);
iv5.setImageResource(easy1[a[5]]);
iv6.setImageResource(easy1[a[6]]);
iv7.setImageResource(easy1[a[7]]);
iv8.setImageResource(easy1[a[8]]);
iv9.setImageResource(easy1[a[9]]);
iv10.setImageResource(easy1[a[10]]);
iv11.setImageResource(easy1[a[11]]);
iv12.setImageResource(easy1[a[12]]);
iv13.setImageResource(easy1[a[13]]);
iv14.setImageResource(easy1[a[14]]);
iv15.setImageResource(easy1[a[15]]);
iv16.setImageResource(easy1[a[16]]);
iv17.setImageResource(easy1[a[17]]);
iv18.setImageResource(easy1[a[18]]);
iv19.setImageResource(easy1[a[19]]);
iv20.setImageResource(easy1[a[20]]);
iv21.setImageResource(easy1[a[21]]);
iv22.setImageResource(easy1[a[22]]);
iv23.setImageResource(easy1[a[23]]);
iv24.setImageResource(easy1[a[24]]);
iv25.setImageResource(R.drawable.a3);
}
});
Logcat:
01-23 09:08:44.004: E/AndroidRuntime(981): 致命异常: main
01-23 09:08:44.004: E/AndroidRuntime(981): java.lang.ArrayIndexOutOfBoundsException: length=24;索引=24
01-23 09:08:44.004: E/AndroidRuntime(981): at com.jepoy.Shift.Main$1.onClick(Main.java:102)
01-23 09:08:44.004: E/AndroidRuntime(981): 在 android.view.View.performClick(View.java:4084)
01-23 09:08:44.004: E/AndroidRuntime(981): at android.view.View$PerformClick.run(View.java:16966)
01-23 09:08:44.004: E/AndroidRuntime(981): 在 android.os.Handler.handleCallback(Handler.java:615)
01-23 09:08:44.004: E/AndroidRuntime(981): at android.os.Handler.dispatchMessage(Handler.java:92)
01-23 09:08:44.004: E/AndroidRuntime(981): 在 android.os.Looper.loop(Looper.java:137)
01-23 09:08:44.004: E/AndroidRuntime(981): 在 android.app.ActivityThread.main(ActivityThread.java:4745)
01-23 09:08:44.004: E/AndroidRuntime(981): at java.lang.reflect.Method.invokeNative(Native Method)
01-23 09:08:44.004: E/AndroidRuntime(981): at java.lang.reflect.Method.invoke(Method.java:511)
01-23 09:08:44.004: E/AndroidRuntime(981): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
01-23 09:08:44.004: E/AndroidRuntime(981): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
01-23 09:08:44.004: E/AndroidRuntime(981): at dalvik.system.NativeStart.main(Native Method)
01-23 09:09:42.344: E/Trace(1029): 打开跟踪文件时出错:没有这样的文件或目录 (2)
【问题讨论】:
-
你能看一下LogCat并粘贴红色的错误信息吗?这将有助于解决错误:)