У меня есть 2 фрагмента, которые используют одну и ту же активность. При нажатии кнопки они переключаются между ними. Я использую аутентификацию Firebase Google во фрагменте, но он дает мне ошибку в методе signInWithEmailAndPassword. Он не принимает мой аргумент для контекста.Ошибка: контекст не может быть преобразован в Executor
// Define the context
private Context mContext;
public LoginFragment() {
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
this.mContext = context;
}
Это метод Войти
// logs the user in
private void loginUser() {
// Get the text for email and password
String email = loginEmail.getText().toString();
String password = loginPassword.getText().toString();
// Sign the user in
mAuth.signInWithEmailAndPassword(email, password).addOnCompleteListener(mContext, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
// TODO: Figure out how to give back certain messages
// If the task fails
if(!task.isSuccessful()){
Log.i(TAG, "Username/Passowrd Combination dont match");
}
}
});
}
Это ошибка я получаю
Error:(115, 66) error: no suitable method found for addOnCompleteListener(Context,<anonymous OnCompleteListener<AuthResult>>)
method Task.addOnCompleteListener(Executor,OnCompleteListener<AuthResult>) is not applicable
(argument mismatch; Context cannot be converted to Executor)
method Task.addOnCompleteListener(Activity,OnCompleteListener<AuthResult>) is not applicable
(argument mismatch; Context cannot be converted to Activity)
Я посмотрел на Android Fragment onAttach() deprecated, прежде чем он не решает мою проблему вообще. Я все еще получаю ошибку. Мое приложение не будет даже запустить
Это делает mContext к правильной деятельности, но signInWithEmailAndPassword.addOnCompleteListener не принимает контекст и то, где ошибка
Вместо передачи контекста, попробуйте передать «Ваш Activity.this " –