Intent
следует создать так же, как и раньше.LoginActivity.this
относится к этому экземпляру внешнего класса LoginActivity, где используется внутренний анонимный класс.Вероятно, он не предназначен для замены getApplicationContext()
.
. Поскольку вы пометили лямбда , вы хотите сократить реализацию анонимного класса до лямбда-выражения.:
firebaseAuth.signInWithEmailAndPassword(email, password)
.addOnCompleteListener(this, task -> {
if (task.isSuccessful()) {
Intent mainActivity = new Intent(getApplicationContext(), MainActivity.class);
startActivity(mainActivity);
finish();
}
});
Помните, что экземпляр Intent
не связан с лямбда-выражением.Ключевая часть сокращает:
new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) { ... }
}
... до ...
task -> { ... }