Здравствуйте, я просто хочу сопоставить 2 поля, если они совпадают, я хочу отправить 1 из них в базу данных. это для смены пароля. Однако я получаю сообщение об ошибке, и оно сразу же приводит к выражению else: «Что-то пошло не так, пароль не изменился». не могу понять почему.
прямо сейчас, если 2 пароля не совпадают, я получаю сообщение: оба поля очень совпадают, эта часть верна
когда 2 совпадения, я получаю что-то не так: это утверждение else для publi c void oncomplete для пожарной базы. оно просто пропускается, если задача выполнена успешно, и я не понимаю, почему.
public void changePassword(){
String userPasswordNew = newPassword.getText().toString(); // get pw
String userPassword2New = newPassword2.getText().toString();
if (userPasswordNew.equals(userPassword2New)){
if(userPasswordNew.equals("") || userPassword2New.equals("")){
Toast.makeText(ProfilePasswordUpdateActivity.this,"Fields can not be empty", Toast.LENGTH_SHORT).show();
}
else {
firebaseUser.updatePassword(userPasswordNew).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if(task.isSuccessful()){
Toast.makeText(ProfilePasswordUpdateActivity.this,"Password changed",Toast.LENGTH_SHORT).show();
finish();
}else{
Toast.makeText(ProfilePasswordUpdateActivity.this,"Something went wrong, password did not get changed",Toast.LENGTH_LONG).show();
}
}
});
}
}
else{
Toast.makeText(ProfilePasswordUpdateActivity.this,"Both fields much match in order to change password",Toast.LENGTH_LONG).show();
}
}
xml привязка для входных данных
newPassword = findViewById(R.id.EditText_new_password);
newPassword2 = findViewById(R.id.EditText_new_password2);
ошибка
2020-01 -15 08: 57: 44.007 11071-11071 / com.example.examapplikation E / AndroidRuntime: FATAL EXCEPTION: main Процесс: com.example.examapplikation, PID: 11071 java .lang.NullPointerException: попытка вызвать виртуальный метод com .google. android .gms.tasks.Task com.google.firebase.auth.FirebaseUser.reauthenticate (com.google.firebase.auth.AuthCredential) 'для ссылки на пустой объект в com.example.examapplikation.ProfilePasswordUpdateActivity.change (ProfilePasswordUpdateActivity. java: 66) в com.example.examapplikation.ProfilePasswordUpdateActivity $ 1.onClick (ProfilePasswordUpdateActivity. java: 50) в android .view.View.performClick (View. java: 6597) в android .view.View.performClickInternal (View. java: 6574) при android .view.View.access $ 3100 (View. java: 778) при android .view.View $ PerformClick.run ( Просмотр. java: 25885) в android .os.Handler.h andleCallback (обработчик. java: 873) в android .os.Handler.dispatchMessage (обработчик. java: 99) в android .os.Looper.l oop (Looper. java: 193 ) в android .app.ActivityThread.main (ActivityThread. java: 6669) в java .lang.reflect.Method.invoke (собственный метод) в com. android .internal.os.RuntimeInit $ MethodAndArgsCaller .run (RuntimeInit. java: 493) на com. android .internal.os.ZygoteInit.main (ZygoteInit. java: 858)