2017-07-02 120 views
0

我試圖創建更改密碼功能...但我不知道爲什麼會出現錯誤,但我輸入了正確的密碼。它總是返回失敗重新驗證失敗的Firebase Android

我遵循 Manager Users Firebase

此代碼,這是我的代碼

edtOldPass = (TextInputLayout) findViewById(R.id.edt_oldpass); 

mCurrentUser = FirebaseAuth.getInstance().getCurrentUser(); 
      String email = mCurrentUser.getEmail(); 
      String pass = edtOldPass.getEditText().toString(); 

      AuthCredential credential = EmailAuthProvider.getCredential(email, pass); 

      mCurrentUser.reauthenticate(credential).addOnCompleteListener(new OnCompleteListener<Void>() { 
       @Override 
       public void onComplete(@NonNull Task<Void> task) { 
        if (task.isSuccessful()) { 

         Intent newpassIntent = new Intent(ReAuthActivity.this, ChangePassActivity.class); 
         startActivity(newpassIntent); 

        } else {      
         Toast.makeText(ReAuthActivity.this, "Incorrect Password", Toast.LENGTH_SHORT).show(); 
        } 
       } 
      }); 

回答

1

此代碼來獲取密碼不正確:

String pass = edtOldPass.getEditText().toString(); 

TextInputLayout返回調用getEditText()包含的EditText小部件,而不是的字符串值。

它改成這樣:

String pass = edtOldPass.getEditText().getText().toString();