0

我正在尝试为我的注册过程创建一个设置序列,其中在第一页(活动)上,用户的电子邮件和密码存储为额外的意图。这些额外的然后作为变量存储在第二页中。然后在第二页上询问用户更多详细信息,同时仍将这些作为额外内容与第一页中的额外内容一起添加到新意图中。然后这些新的额外内容作为变量存储在第三个活动中,同时从用户那里收集更多信息。最后,单击按钮后,从此活动和之前的活动(来自“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): 在 java.lang.reflect.Method.invokeNative(Native Method) 07-09 21:16:03.105: E/AndroidRuntime(2378): 在 java.lang.reflect。 Method.invoke(Method.java:515) 07-09 21:16:03.105: E/AndroidRuntime(2378): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 07-09 21:16:03.105: E/AndroidRuntime(2378): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 07-09 21:16:03.105: E/AndroidRuntime(2378): 在 dalvik .system.NativeStart。主要(本机方法)07-09 21:16:03.105:E/AndroidRuntime(2378):由:java.lang.NullPointerException 07-09 21:16:03.105:E/AndroidRuntime(2378):在 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 更多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 更多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 更多

4

1 回答 1

0

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

于 2014-07-10T04:36:48.157 回答