Использование:

ользую LiveData и ViewModel из компонентов архитектуры в моем приложении.

У меня есть список элементов, которые разбиты на страницы, я загружаю больше, когда пользователь прокручивает страницу вниз. Результат запроса сохраняется в

MutableLiveData<List<SearchResult>>
,

Когда я делаю начальную загрузку и устанавливаю переменную в новый список, он вызывает обратный вызов на адаптере привязки, который загружает данные в представление recycler.

Однако, когда я загружаю вторую страницу и добавляю дополнительные элементы в список, обратный вызов не запускается. Однако, если я заменю список новым списком, содержащим как старые, так и новые элементы, обратный вызов сработает.

Возможно ли, чтобы LiveData уведомляла своих наблюдателей при обновлении списка поддержки, а не только при обновлении объекта LiveData?

Это не работает (игнорируя нулевые проверки):

val results = MutableLiveData<MutableList<SearchResult>>()

/* later */

results.value.addAll(newResults)

Это работает:

val results = MutableLiveData<MutableList<SearchResult>>()

/* later */

val list = mutableListOf<SearchResult>()
list.addAll(results.value)
list.addAll(newResults)
results.value = list

Ответы на вопрос(2)

Ваш ответ на вопрос