Всем привет. Во viewmodel делаю так: val error: MutableLiveData<Boolean> = MutableLiveData<Boolean>(false) val

succes: MutableLiveData<Boolean> = MutableLiveData<Boolean>(false) val errorData: MutableLiveData<ErrorData> = MutableLiveData<ErrorData>() if (response.body()?.error == null){ preferencesHelper.putStringValue(userTokenKey,response.body()!!.result.token) succes.value = true }else { error.value = true errorData.value = response.body()!!.error } а во view так viewModel.succes.observe(viewLifecycleOwner){ println("succes. if need replase screen and more") } viewModel.error.observe(viewLifecycleOwner){ viewModel.errorData.observe(viewLifecycleOwner){ println("Show error") } } Теперь вопрос. На сколько этот код костыль? И как сделать лучше?

russian programming software it

8 ответов

такую логику обычно выполняет репозиторий а viewModel получает данные от remoLocal либо repoRemote и обзервит их во view

на один раз думаю не страшно, но если всегда так делать, то плохо

зачем oдин observe внутри другого observe?

Евгений- Автор вопроса
Евгений- Автор вопроса
Тимур
зачем oдин observe внутри другого observe?

ну один проверяет на error true. А второй отдает ErrorData

Евгений
ну один проверяет на error true. А второй отдает E...

должен быть один обзервер и он будет возращать статус

Евгений
ну один проверяет на error true. А второй отдает E...

ты можешь просто обзервить error, и вытягивать errorData когда прилетает уведомление подписчику

Похожие вопросы