我有一个登录表单。我StateFlow
用来发送LoginResult
(调用 API 后)从ViewModel
到Activity
. 在活动中,如果登录失败,我将显示一个错误对话框。
它第一次运行良好,但从我第二次登录失败后,错误对话框将不再显示。我都测试.value
过.emit
StateFlow
private val _loginResult = MutableStateFlow(LoginResult())
val loginResult: StateFlow<LoginResult> = _loginResult
fun login(email: String, password: String) {
viewModelScope.launch {
when (val result = loginRepository.login(email, password)) {
is Result.Fail-> {
_loginResult.value = LoginResult(error = "Login failed")
// _loginResult.emit(LoginResult(error = "Login failed")) same issue
}
...
}
}
}