В Android я изучал аутентификацию в firebase. Я хочу сохранить логическое значение в переменной, определяющей, была ли задача успешной или нет. Вот мой код: -
fun signIn(userEmail: String, userPassword: String): Boolean {
var successful = false
mAuth.signInWithEmailAndPassword(userEmail, userPassword)
.addOnCompleteListener {
successful = it.isSuccessful
Log.d(TAG, "successful = $successful")
}
Log.d(TAG, "successful = $successful")
return successful
}
Когда этот метод вызывается, успешная переменная внутри функции высшего порядка меняется на true, но она не действует, когда она выходит наружу. Вот мой файл журнала: -
D/UserAuthentication: successful = true
D/UserAuthentication: successful = false
Как мне это исправить?