Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio应用程序不能从主菜单启动,只需点击一个按钮就会崩溃_Android_Android Studio_Crash - Fatal编程技术网

Android Studio应用程序不能从主菜单启动,只需点击一个按钮就会崩溃

Android Studio应用程序不能从主菜单启动,只需点击一个按钮就会崩溃,android,android-studio,crash,Android,Android Studio,Crash,我是android的初学者,我正在尝试做一个智力竞赛游戏。虽然应用程序正在我的手机上运行,但问题很少。(使用真实设备) 第一个问题-第一次应用程序运行正常,游戏完成后,如果您按下后退按钮,它将导航到主菜单。之后,如果单击“开始”按钮,应用程序将崩溃(不幸的是,appname已停止) 第二个问题-退出游戏后,如果我再次启动应用程序,它将从测验而不是主菜单开始 我怎样才能修好它们? 这是logcat错误报告 09-17 15:33:57.333 11833-11833/com.example.i

我是android的初学者,我正在尝试做一个智力竞赛游戏。虽然应用程序正在我的手机上运行,但问题很少。(使用真实设备)

第一个问题-第一次应用程序运行正常,游戏完成后,如果您按下后退按钮,它将导航到主菜单。之后,如果单击“开始”按钮,应用程序将崩溃(不幸的是,appname已停止)

第二个问题-退出游戏后,如果我再次启动应用程序,它将从测验而不是主菜单开始

我怎样才能修好它们?



这是logcat错误报告

09-17 15:33:57.333 11833-11833/com.example.ice.quizgametest E/ViewRootImpl﹕ onInputEvent:dispatchAttachedToWindow未调用。[事件:KeyEvent{action=action\u UP,keyCode=keyCode\u BACK,scanCode=158,metaState=0,flags=0x8,repeatCount=0,eventTime=47573455,downTime=47573407,deviceId=2,displayId=0,source=0x101}] 09-17 15:33:58.384 11833-11833/com.example.ice.quizgametest E/ViewRootImpl﹕ sendUserActionEvent()mView==null 09-17 15:34:11.046 11833-11833/com.example.ice.quizgametest E/ViewRootImpl﹕ sendUserActionEvent()mView==null 09-17 15:34:12.988 11833-11833/com.example.ice.quizgametest D/AndroidRuntime﹕ 关闭虚拟机 09-17 15:34:12.988 11833-11833/com.example.ice.quizgametest W/dalvikvm﹕ threadid=1:线程以未捕获异常退出(组=0x41ed7930) 09-17 15:34:12.988 11833-11833/com.example.ice.quizgametest E/AndroidRuntime﹕ 致命异常:主 java.lang.RuntimeException:无法启动活动组件信息{com.example.ice.quizgametest/com.example.ice.quizgametest.quick}:java.lang.ArrayIndexOutOfBoundsException:长度=2;指数=2 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2255)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309) 在android.app.ActivityThread.access$700(ActivityThread.java:157) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)上 位于android.os.Handler.dispatchMessage(Handler.java:99) 位于android.os.Looper.loop(Looper.java:176) 位于android.app.ActivityThread.main(ActivityThread.java:5319) 位于java.lang.reflect.Method.Invokenactive(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:511) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 在dalvik.system.NativeStart.main(本机方法) 原因:java.lang.ArrayIndexOutOfBoundsException:长度=2;指数=2 位于com.example.ice.quizgametest.quick.onCreate(quick.java:45) 位于android.app.Activity.performCreate(Activity.java:5326) 位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2218) 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309) 在android.app.ActivityThread.access$700(ActivityThread.java:157) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)上 位于android.os.Handler.dispatchMessage(Handler.java:99) 位于android.os.Looper.loop(Looper.java:176) 位于android.app.ActivityThread.main(ActivityThread.java:5319) 位于java.lang.reflect.Method.Invokenactive(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:511) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 在dalvik.system.NativeStart.main(本机方法) 问题1 你粘贴在那里的异常会告诉你一切。首先,在分析最常见情况下的异常时,您必须找到异常的“原因”部分。 这一行:

原因:java.lang.ArrayIndexOutOfBoundsException:长度=2;指数=2

它告诉您尝试从数组大小之外获取或设置元素。可能是从1开始索引,而不是从0或任何其他原因开始索引。 下一行:

位于com.example.ice.quizgametest.quick.onCreate(quick.java:45)

提供发生异常的完整路径。其类别:测验,方法:onCreate,行:45。只需调试这种情况并尝试找到解决方案

问题2
您必须阅读有关活动的内容。

您的问题表明您对android应用程序的生命周期并不熟悉。您应该更好地学习这个理论。请在应用程序崩溃时发布logcat错误报告以及部分代码…而不是给我们完整的项目谢谢您的回答。tv.setText(问题[位置]);这是测验课的第45行。可能它正在尝试查找不在数组中的位置2。我如何修复它?@msa很可能您的静态变量位置从未设置为默认值。您必须阅读有关静态变量和垃圾收集器的内容。如果您在此活动中创建onDestroy事件并将位置变量设置为0,可能一切都会好起来。 09-17 15:33:57.333 11833-11833/com.example.ice.quizgametest E/ViewRootImpl﹕ onInputEvent:dispatchAttachedToWindow is not called.[event:KeyEvent { action=ACTION_UP, keyCode=KEYCODE_BACK, scanCode=158, metaState=0, flags=0x8, repeatCount=0, eventTime=47573455, downTime=47573407, deviceId=2, displayId=0, source=0x101 }] 09-17 15:33:58.384 11833-11833/com.example.ice.quizgametest E/ViewRootImpl﹕ sendUserActionEvent() mView == null 09-17 15:34:11.046 11833-11833/com.example.ice.quizgametest E/ViewRootImpl﹕ sendUserActionEvent() mView == null 09-17 15:34:12.988 11833-11833/com.example.ice.quizgametest D/AndroidRuntime﹕ Shutting down VM 09-17 15:34:12.988 11833-11833/com.example.ice.quizgametest W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41ed7930) 09-17 15:34:12.988 11833-11833/com.example.ice.quizgametest E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ice.quizgametest/com.example.ice.quizgametest.quiz}: java.lang.ArrayIndexOutOfBoundsException: length=2; index=2 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2255) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309) at android.app.ActivityThread.access$700(ActivityThread.java:157) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:176) at android.app.ActivityThread.main(ActivityThread.java:5319) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.ArrayIndexOutOfBoundsException: length=2; index=2 at com.example.ice.quizgametest.quiz.onCreate(quiz.java:45) at android.app.Activity.performCreate(Activity.java:5326) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2218)             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309)             at android.app.ActivityThread.access$700(ActivityThread.java:157)             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)             at android.os.Handler.dispatchMessage(Handler.java:99)             at android.os.Looper.loop(Looper.java:176)             at android.app.ActivityThread.main(ActivityThread.java:5319)             at java.lang.reflect.Method.invokeNative(Native Method)             at java.lang.reflect.Method.invoke(Method.java:511)             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)             at dalvik.system.NativeStart.main(Native Method)