Предполагая, что мое предположение верно:
- Ваша модель просмотра имеет
LiveData<PagedList<Article>>
геттер
- У вас есть реализация
PagedListAdapter
, и вы вводите в нее данные через submitList
- Вы делите модель представления между списком и элементом списка (что естественно)
Затем, добавив это в ваш конструктор адаптера (естественно, Article - это просто пример класса, представляющий некоторую сущность, у вас будет свой):
super(new DiffUtil.ItemCallback<Article>() {
@Override
public boolean areItemsTheSame(@NonNull Article article1, @NonNull Article article2) {
return article1.getId().equals(article2.getId());
}
@Override
public boolean areContentsTheSame(@NonNull Article article1, @NonNull Article article2) {
return article1.equals(article2);
}
});
... ваш вопрос решен автоматически.