изменения в списке и среагирует?
Наоборот. Нужно удалять данные в viewModel (liveData), а список обновится автоматически.
В примере Есть var list: MutableLiveData<MutableList<Item>> Если я пропишу list.value.add(item), обсервер не сработает, а чтобы он работал, должно быть list.value = value. Т.е. я лист должен менять старый на новый лист. Я могу заменять лист на лист, но смысл тогда от обсервера, если я сам указываю, когда происходят изменения?
LiveData не волшебная, это просто способ передачи данных. Уведомлять о том, что они изменились, разумеется вы должны руками. Поэтому лучше замените MutableList на List, и при изменении создавате копию старого списка с учётом нужных вам изменений, и ставьте этот новый список в вашу LiveData
Смысл в том, что ui не будет жестко привязан к данным..
Обсуждают сегодня