4

Я пытаюсь поместить некоторый код внутри метода builder.setPositiveButton.Получение «Невозможно разрешить метод» addOnCompletionListener() «.......» при попытке поместить некоторый код внутри метода builder.setPositiveButton onClick()

Проблема заключается в том, что я получаю следующее сообщение об ошибке: Cannot resolve method 'addOnCompletionListener(anonymous android.content.DialogInterface.OnClickListener, anonymous com.google.android.gms.tasks.OnCompletionListener<com.google.firebase.auth.AuthResult>)

Вот код:

AlertDialog.Builder builder = new AlertDialog.Builder(SignUpActivity.this); 
       builder.setTitle("Title"); 
       builder.setView(R.layout.customlayout); 
       builder.setPositiveButton("Continue", new DialogInterface.OnClickListener() { 
        @Override 
        public void onClick(DialogInterface dialogInterface, int i) { 

//error from below line 

        mAuth.createUserWithEmailAndPassword(userEmail.getText().toString(), userPassword.getText().toString()) 
           .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
            @Override 
            public void onComplete(@NonNull Task<AuthResult> task) { 
             Log.d("signUpSuccessful", "createUserWithEmail:onComplete:" + task.isSuccessful()); 

             // If sign in fails, display a message to the user. If sign in succeeds 
             // the auth state listener will be notified and logic to handle the 
             // signed in user can be handled in the listener. 
             if (!task.isSuccessful()) { 
              Snackbar snackbar = Snackbar 
                .make(coordinatorLayout, "Sign up failed. Please retry.", Snackbar.LENGTH_SHORT); 
              snackbar.show(); 
             } 

             // ... 
            } 
           }); 

//upto this line 
        } 
       }); 
       AlertDialog dialog = builder.create(); 
       dialog.show(); 

Что случилось здесь?

Пожалуйста, дайте мне знать.

ответ

13
addOnCompleteListener(this, new OnCompleteListener<AuthResult>() 

«это» в этой строке означает, что ваш DialogInterface.OnClickListener, вы должны проверить, какого рода PARAMS этого метода необходимо, если контекст, попробуйте изменить его на этот

addOnCompleteListener(YourActivityName.this, new OnCompleteListener<AuthResult>() 
+0

Отлично, я переписывал точно, что имеет документация Google. ;) –

+0

Работал как шарм! большое спасибо. – Anand

Смежные вопросы