код в RegisterActivity1:
Bundle extras = new Bundle();
...
case R.id.continue_button:
extras.putString("email",eMail_eingabe.getText().toString().trim());
extras.putString("pw1", passwort_1_eingabe.getText().toString().trim());
extras.putString("pw2", passwort_2_eingabe.getText().toString().trim());
i.putExtras(extras);
this.startActivity(i);
break;
код в RegisterActivity2:
Bundle extras = getIntent().getExtras(); //Nullpointer oocurs here
semail = extras.getString("email");
spw1 = extras.getString("pw1");
spw2 = extras.getString("pw2");
Я пытаюсь передать электронную почту и пароль из действия 1 в действие 2, но ничего не пыталсяпока что похоже работает. Я всегда получаю исключение Nullpointer здесь:
Bundle extras = getIntent().getExtras();
Любые советы о том, как это исправить?
Вот полный метод из Activity1, если он имеет какое-то отношение к методу переопределения...
@Override
public void onClick(View view) {
String email = eMail_eingabe.getText().toString().trim();
String password = passwort_1_eingabe.getText().toString().trim();
if (eMail_eingabe.getText().toString().isEmpty()) {
//eMail_eingabe.setError("Bitte email eingeben");
eMail_eingabe.setText("Bitte email eingeben");
eMail_eingabe.requestFocus();
return;
}
if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
eMail_eingabe.setError("Bitte eine gültige E-Mail eingeben");
eMail_eingabe.requestFocus();
return;
}
if (password.length() < 6) {
passwort_1_eingabe.setError("Bitte mindestens 6 Zeichen eingeben");
passwort_1_eingabe.requestFocus();
return;
} else if (passwort_1_eingabe.getText().toString().isEmpty()) {
passwort_1_eingabe.setError("Bitte passwort eingeben");
passwort_1_eingabe.requestFocus();
return;
} else if (passwort_2_eingabe.getText().toString().isEmpty()) {
passwort_2_eingabe.setError("Bitte passwort eingeben");
passwort_2_eingabe.requestFocus();
return;
}
if (!passwort_1_eingabe.getText().toString().equalsIgnoreCase(passwort_2_eingabe.getText().toString())) {
passwort_2_eingabe.setError("Passwort stimmt nicht überein");
passwort_2_eingabe.requestFocus();
return;
}
switch (view.getId()) {
case R.id.continue_button:
extras.putString("email", eMail_eingabe.getText().toString().trim());
extras.putString("pw1", passwort_1_eingabe.getText().toString().trim());
extras.putString("pw2", passwort_2_eingabe.getText().toString().trim());
i.putExtras(extras);
this.startActivity(i);
break;
}
}
Исключение:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.hoimi, PID: 7812
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.hoimi/com.example.hoimi.student.Register2_Student_Activity}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Bundle android.content.Intent.getExtras()' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3355)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199)
at android.os.Handler.dispatchMessage(Handler.java:112)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.os.Bundle android.content.Intent.getExtras()' on a null object reference
at com.example.hoimi.student.Register2_Student_Activity.<init>(Register2_Student_Activity.java:22)
at java.lang.Class.newInstance(Native Method)
at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:69)
at androidx.core.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:41)
at android.app.Instrumentation.newActivity(Instrumentation.java:1224)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3340)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199)
at android.os.Handler.dispatchMessage(Handler.java:112)
at android.os.Looper.loop(Looper.java:216)
at android.app.ActivityThread.main(ActivityThread.java:7625)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)