Я реализовал новый PagedListAdapter с ItemKeyedDataSource.Мой список содержит элементы ленты с кнопкой «Мне нравится».Нажатие на кнопку «Нравится» должно обновить элемент.
Чтобы обновить мой элемент списка одним нажатием кнопки, я обновляю состояние в моем фоновом режиме Firestore и вызываю invalidate на моем ItemKeyedDataSource.Но это освежит весь мой список, когда я вернусь к началу моего списка.
Я не был уверен, нормальное ли это поведение, поэтому я пошел отлаживать и проверять maiby, мой DiffUtil.ItemCallback был проблемой.Но эти два метода (areItemsTheSame и areContentsTheSame) никогда не вызываются.
Итак, вызывает ли вызов invalidate в DataSource способ инициировать обновление одного элемента?И поможет ли DiffUtil отслеживать мою позицию в списке после обновления или я смотрю в неправильном направлении?