В статье рассказывается в чем сложность с обработкой одноразовых событий, которые надо передать из ViewModel в UI.
Автор рассматривает способ через callback интерфейс в конструкторе ViewModel
@HiltViewModel
class MyViewModel @Inject constructor(
// inject the interface
private val toastMessages: ToastMessages,
) : ViewModel() {
fun doSomething() {
viewModelScope.launch {
try {
// execute async operation here
} catch (e: CustomException) {
// initiate a one-off event
toastMessages.showToast(e.localizedMessage)
}
}
}
}
🔗 Альтернативная ссылка на статью
#android #viewmodel #dagger #hilt