0

サインアップ プロセスのセットアップ シーケンスを作成しようとしています。最初のページ (アクティビティ) で、ユーザーの電子メールとパスワードがインテントの追加として保存されます。これらのエクストラは、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 詳細

4

1 に答える 1

0

私は問題を解決しました。以前のアクティビティの 1 つでインテントのエクストラの KEY を誤って設定したため、ボタンのクリックでそれを受信しようとした理由がエラーでした。

于 2014-07-10T04:36:48.157 に答える