我遇到了一个问题,使我的应用程序崩溃并将其写在 logcat 上:
10-18 13:13:13.950: E/AndroidRuntime(748): 致命异常: main 10-18 13:13:13.950: E/AndroidRuntime(748): android.content.res.Resources$NotFoundException: 字符串资源 ID # 0x0 10-18 13:13:13.950: E/AndroidRuntime(748): 在 android.content.res.Resources.getText(Resources.java:239) 10-18 13:13:13.950: E/AndroidRuntime(748):在 android.widget.TextView.setText(TextView.java:3844) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 com.example.lightalarmclock.AddBox.onClick(AddBox.java:89) 10- 18 13:13:13.950: E/AndroidRuntime(748): 在 android.view.View.performClick(View.java:4240) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 android.view。查看$PerformClick.run(View.java:17721) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 android.os.Handler.handleCallback(Handler.java:730) 10-18 13:13: 13.950:E/AndroidRuntime(748):在 android.os。Handler.dispatchMessage(Handler.java:92) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 android.os.Looper.loop(Looper.java:137) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 android.app.ActivityThread.main(ActivityThread.java:5103) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 java.lang.reflect.Method.invokeNative(Native方法) 10-18 13:13:13.950: E/AndroidRuntime(748): at java.lang.reflect.Method.invoke(Method.java:525) 10-18 13:13:13.950: E/AndroidRuntime(748) : 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 com.android.internal.os.ZygoteInit.main (ZygoteInit.java:553)10-18 13:13:13.950:E/AndroidRuntime(748):在 dalvik.system.NativeStart.main(本机方法)在 android.os.Looper.loop(Looper.java:137) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 android.app.ActivityThread.main(ActivityThread.java:5103) 10-18 13 :13:13.950: E/AndroidRuntime(748): at java.lang.reflect.Method.invokeNative(Native Method) 10-18 13:13:13.950: E/AndroidRuntime(748): at java.lang.reflect.Method .invoke(Method.java:525) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-18 13 :13:13.950: E/AndroidRuntime(748): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 dalvik。 system.NativeStart.main(本机方法)在 android.os.Looper.loop(Looper.java:137) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 android.app.ActivityThread.main(ActivityThread.java:5103) 10-18 13 :13:13.950: E/AndroidRuntime(748): at java.lang.reflect.Method.invokeNative(Native Method) 10-18 13:13:13.950: E/AndroidRuntime(748): at java.lang.reflect.Method .invoke(Method.java:525) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-18 13 :13:13.950: E/AndroidRuntime(748): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 dalvik。 system.NativeStart.main(本机方法)E/AndroidRuntime(748): at java.lang.reflect.Method.invokeNative(Native Method) 10-18 13:13:13.950: E/AndroidRuntime(748): at java.lang.reflect.Method.invoke(Method. java:525) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 dalvik.system.NativeStart.main (本机方法)E/AndroidRuntime(748): at java.lang.reflect.Method.invokeNative(Native Method) 10-18 13:13:13.950: E/AndroidRuntime(748): at java.lang.reflect.Method.invoke(Method. java:525) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 dalvik.system.NativeStart.main (本机方法)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 dalvik.system.NativeStart.main(Native Method)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 10-18 13:13:13.950: E/AndroidRuntime(748): 在 dalvik.system.NativeStart.main(Native Method)
我的应用程序正在更新按键上的文本,有点像 android 闹钟应用程序 (4.3) 在添加警报时按下按钮并从左到右发送它们。
所以我想出了以下内容:
if (pos1 == 0) {
TextView Pos1 = (TextView)findViewById(R.id.TextView05);
Pos1.setText("1");
pos1 = 1;
} else {
//Moving all positions for a one
TextView Pos1 = (TextView)findViewById(R.id.TextView04);
Pos1.setText(pos3);
pos4 = pos3;
TextView Pos2 = (TextView)findViewById(R.id.TextView03);
Pos2.setText(pos2);
pos3 = pos2;
TextView Pos3 = (TextView)findViewById(R.id.TextView01);
Pos3.setText(pos1);
pos2 = pos1;
//imputing
TextView Pos5 = (TextView)findViewById(R.id.TextView05);
Pos5.setText("1");
pos1 = 0;
}
导致问题的部分在“else”语句中//移动所有位置注释是游戏崩溃的部分。因此,在应用程序 GUI 中,您按数字 1,它在最右边绘制而不是 0(这部分有效),然后您再次按 1 及其配偶将前一个 1 向左移动并在最右边添加另一个 1,但这会崩溃我的应用程序。
我试图修复它并用谷歌搜索,但我就是想不通。