【发布时间】:2016-04-03 09:22:36
【问题描述】:
如果我使用意图将字符串附加内容从第一类传递到第二类,然后再次将它们传递给第三类,我如何将相同的意图传递回第二类?
我有一个主要活动、详细活动和评论活动。
在 Detail Activity 中,它正在获取从 Main Activity 传递的字符串 extras,然后将相同的数据传递给 Comments Activity如果我转到 Comments Activity 并触摸工具栏中的后退箭头以返回 Detail Activity,则应用程序会崩溃,因为它再次需要 Intent 数据。那么如何确保 Intent 数据被传递回 Detail Activity?
Logcat
04-03 02:29:21.902 23236-23236/com.curtrostudios.testapp E/AndroidRuntime: 致命异常: main 进程:com.curtrostudios.testapp,PID:23236 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.curtrostudios.testapp/com.curtrostudios.testapp.ProductDetail}:java.lang.NullPointerException 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2248) 在 android.app.ActivityThread.access$800(ActivityThread.java:138) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5072) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) 在 dalvik.system.NativeStart.main(本机方法) 引起:java.lang.NullPointerException 在 com.curtrostudios.testapp.ProductDetail.onCreate(ProductDetail.java:60) 在 android.app.Activity.performCreate(Activity.java:5334) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2248) 在 android.app.ActivityThread.access$800(ActivityThread.java:138) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1199) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5072) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) 在 dalvik.system.NativeStart.main(本机方法)
ProductDetail.java 中的第 60 行是final String desc = intnt.getStringExtra("desc").toString();
【问题讨论】:
-
请报告崩溃报告?
-
@Kathi 请查看编辑
-
在此之前检查是否为
getIntent().getExtras() != null。如果null,那么您将从 cmets 活动返回,如果不是,那么您从 MainActivity 回来。 -
首先:“工具栏中的后退箭头”称为up或home。如果您按回(真正的,在底部),它会起作用吗?如果您将启动模式更改为单顶,这可能很容易解决
-
将 launchMode="singleTop" 添加到清单中的详细信息/评论活动中,它应该可以正常工作
标签: java android android-intent