分享额外的意图并在Android上添加3个以上的活动,然后在第5个活动中检索所有额外的活动

时间:2014-07-09 06:28:17

标签: android android-intent extras

我正在尝试为我的注册过程创建设置序列,在第一页(活动)上,用户的电子邮件和密码作为额外存储在意图中。然后将这些额外的内容存储为第二页中的变量。然后在第二页上询问用户的更多细节,同时仍然将这些作为额外的添加到新意图以及第一页的附加内容。然后,这些新的额外存储作为变量存储在第三个活动中,同时从用户收集更多信息。然后,最后存储在此活动中的所有变量和之前的活动(来自'getExtras'等)在单击按钮后存储在后端。但是在这个点击应用程序崩溃。有什么理由为什么?

我有3项活动; SignUpActivity1,SignUpActivity2和SignUpActivity3。

在SignUpActivity1中点击我做的按钮;

    Intent intent = new Intent(SignUpActivity1.this, SignUpActivity2.class);
    intent.putExtra("KEY_ONE", "valueone");
    startActivity(intent);

在SignUpActivity2中,我得到了这个意图;

    Intent originalIntent = getIntent();
    String value_one = originalIntent.getExtras().getString("KEY_ONE");
    Intent intent_two = new Intent(SignUpActivity2.this, SignUpActivity3.class);
    intent_two.putExtra("KEY_ONE_AGAIN", value_one):
    intent_two.putExtra("KEY_TWO", "newvalue");
    startActivity(intent_two);

然后在SignUpActivity3中,我希望获得这两个额外的并将它们存储在可以使用的变量中,但是当我使用变量时,我遇到了错误。

Logcat说:

07-09 21:16:03.105:E / AndroidRuntime(2378):致命异常:主要 07-09 21:16:03.105:E / AndroidRuntime(2378):进程:com.example.testproject,PID:2378 07-09 21:16:03.105:E / AndroidRuntime(2378):java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.testproject / com.example.testproject.SignUpActivity2}:java.lang.NullPointerException      07-09 21:16:03.105:E / AndroidRuntime(2378):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 07-09 21:16:03.105:E / AndroidRuntime(2378):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 07-09 21:16:03.105:E / AndroidRuntime(2378):在android.app.ActivityThread.access $ 800(ActivityThread.java:135) 07-09 21:16:03.105:E / AndroidRuntime(2378):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196) 07-09 21:16:03.105:E / AndroidRuntime(2378):在android.os.Handler.dispatchMessage(Handler.java:102) 07-09 21:16:03.105:E / AndroidRuntime(2378):在android.os.Looper.loop(Looper.java:136) 07-09 21:16:03.105:E / AndroidRuntime(2378):在android.app.ActivityThread.main(ActivityThread.java:5017) 07-09 21:16:03.105:E / AndroidRuntime(2378):at java.lang.reflect.Method.invokeNative(Native Method) 07-09 21:16:03.105:E / AndroidRuntime(2378):at java.lang.reflect.Method.invoke(Method.java:515) 07-09 21:16:03.105:E / AndroidRuntime(2378):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779) 07-09 21:16:03.105:E / AndroidRuntime(2378):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 07-09 21:16:03.105:E / AndroidRuntime(2378):at dalvik.system.NativeStart.main(Native Method) 07-09 21:16:03.105:E / AndroidRuntime(2378):引起:java.lang.NullPointerException 07-09 21:16:03.105:E / AndroidRuntime(2378):at com.example.testproject.SignUpActivity2.onCreate(SignUpActivity2.java:23) 07-09 21:16:03.105:E / AndroidRuntime(2378):在android.app.Activity.performCreate(Activity.java:5231) 07-09 21:16:03.105:E / AndroidRuntime(2378):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 07-09 21:16:03.105:E / AndroidRuntime(2378):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 07-09 21:16:03.105:E / AndroidRuntime(2378):... 11更多

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。我在之前的一个活动中错误地设置了一个意图的额外关键字的KEY,因此我试图通过单击按钮接收它时出现错误。