@Alexey_soloviev

Как правильно передать информацию об ошибки из ViewModel в Activity?

Подскажите как правильно передать информацию об ошибки из ViewModel в Activity? Передать callBack в ViewModel, это правильное решение?
public class MainViewModel extends ViewModel {

    private final MutableLiveData<ArrayList<UserObject>> liveData = new MutableLiveData<>();

    public LiveData<ArrayList<UserObject>> getLiveData() {
        return liveData;
    }

    public void getUserList() {
        new UserRepository().getUserList(new RepositoryCallBack.UserGetList() {
            @Override
            public void onResponse(ArrayList<UserObject> userObject) {
                liveData.setValue(userObject);
            }

            @Override
            public void onError(int statusCode) {
                //Информациб об ошибки необходимо передать в активити (View)
            }
        });
    }

}
  • Вопрос задан
  • 209 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Я бы сказал, точно так же, как и информацию об успехе.
Был бы нормальный котлин, я бы посоветовал завернуть этот самый UserObject в sealed класс:
sealed class Result {
    data class Ok(val data: UserObject): Result()
    data class Error(val statusCode: Int): Result()
}


С джавой будет многословно, но тоже примерно это можно изобразить.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы