【发布时间】:2021-11-21 12:23:04
【问题描述】:
在我的项目中,我有两个活动:MainActivity.class 和 SecondActivity.class。
要从 MainActivity 切换到 SecondActivity,我使用以下代码:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
MainActivity.this.startActivity(intent);
而且它有效。
我使用相同的代码从 SecondActivity 切换到 MainActivity 但应用程序崩溃:
Intent intent = new Intent(getApplicationContext(),MainActivity.class);
SecondActivity.this.startActivity(intent);
如果我尝试从 MainActivity 本身打开 MainActivity,它也会崩溃,但如果我尝试从 SecondActivity 打开 SecondActivity,则不会发生这种情况。
有什么想法吗?
这是我的堆栈跟踪:
2021-09-29 17:25:56.843 25827-25827/st.com.st25androiddemoapp E/AndroidRuntime: 致命异常: main 进程:st.com.st25androiddemoapp,PID:25827 java.lang.RuntimeException:无法恢复活动 {st.com.st25androiddemoapp/st.com.st25androiddemoapp.MainActivity}:java.lang.NullPointerException:尝试调用虚拟方法'boolean java.lang.String.equals(java.lang .Object)' 在空对象引用上 在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:4270) 在 android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4302) 在 android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52) 在 android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2044) 在 android.os.Handler.dispatchMessage(Handler.java:107) 在 android.os.Looper.loop(Looper.java:224) 在 android.app.ActivityThread.main(ActivityThread.java:7562) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950) 原因:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean java.lang.String.equals(java.lang.Object)” 在 st.com.st25androiddemoapp.MainActivity.onResume(MainActivity.java:279) 在 android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1454) 在 android.app.Activity.performResume(Activity.java:8050) 在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:4260)
谢谢
【问题讨论】:
-
您遇到什么错误?将您的堆栈跟踪作为问题描述的一部分发布
标签: java android android-intent android-activity start-activity