サインアップ プロセスのセットアップ シーケンスを作成しようとしています。最初のページ (アクティビティ) で、ユーザーの電子メールとパスワードがインテントの追加として保存されます。これらのエクストラは、2 ページ目に変数として格納されます。次に、2 番目のページでは、最初のページの追加情報とともに、これらを追加情報として新しいインテントに追加しながら、ユーザーにさらに詳細を尋ねます。次に、これらの新しいエクストラは 3 番目のアクティビティで変数として保存され、ユーザーからさらに情報が収集されます。最後に、ボタンをクリックすると、このアクティビティと以前のアクティビティ (「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 で、これら 2 つのエクストラを取得し、使用できる変数に格納したいと考えていますが、変数を使用するとエラーが発生します。
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(ネイティブ メソッド) 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.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 もっと見る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): at 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): at 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 詳細