У вас может быть MutableLiveData вместо LiveData, чтобы иметь возможность устанавливать новые значения. Согласно Android-документации , LiveData является неизменяемой, а MutableLiveData расширяет LiveData и является изменчивой.
Так что вам нужно перейти с LiveData<List<Dog>>
на MutableLiveData<List<Dog>>
Кроме того, в вашем ViewModel
создайте метод для наблюдаемого списка:
public LiveData<List<Dog>> getDogsObservable() {
if (dogsLiveData == null) {
dogsLiveData = new MutableLiveData<List<Dog>>();
}
return dogsLiveData;
}
И, наконец, к вашей MainActivity или любой другой деятельности, которая содержит ViewModel, добавьте этот кусок кода:
viewModel.getDogsObservable().observe(context, dogs -> { //Java 8 Lambda
if (dogs != null) {
//Do whatever you want with you dogs list
}
}