Обратный вызов DiffUtil для списка разного размераAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Обратный вызов DiffUtil для списка разного размера

Сообщение Anonymous »


Я сравниваю два списка, чтобы найти различия между ними, используя специальную реализацию обратного вызова DiffUtil, но эти два списка имеют разный размер, и когда я зарегистрировал сравниваемые элементы в обоих списках в элементах «areItemsTheSame» и «areContentsTheSame», которые сравниваются, ограничены размером списка с наименьшим количеством элементов, и, следовательно, когда в моем адаптере я вызываю 'dispatchUpdatesTo', добавляется новый элемент, но его содержимое такое же, как и последние элементы из старого списка

Реализация этих методов:

@Override public boolean areItemsTheSame(int oldItemPosition, int newItemPosition) { return mOldList.get(oldItemPosition).equals(mNewList.get(newItemPosition)); } @Override public boolean areContentsTheSame(int oldItemPosition, int newItemPosition) { return mOldList.get(oldItemPosition).equals(mNewList.get(newItemPosition)); } Например:

(Старый)Список A = "A","B","C","D","E","F","G","I"

(Новый)Список B = "A","B","C","D","E","F","G","I","K"

при входе в систему я обнаружил, что «areItemsTheSame» и «areContentsTheSame» сравнивают элемент только до «I» и, следовательно, возвращают true для всех вызовов, а после вызова диспетчера UpdatesTo для адаптера в список добавляется новый элемент, но это «I», а не "к"

Итак, я получаю список A = "A", "B", "C", "D", "E", "F", "G", "I", "I"
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как сделать изображение одинакового размера для изображений разного размера в CSS или JS? [закрыто]
    Anonymous » » в форуме CSS
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Это лучший способ перебрать два односвязных списка разного размера и статический массив?
    Anonymous » » в форуме C++
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Изменить выбранный цвет фона карты с помощью DiffUtil
    Anonymous » » в форуме Android
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Добавьте перетаскивание в RecyclerView с помощью DiffUtil
    Anonymous » » в форуме Android
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Использование Recyclerview с Diffutil.ItemCallback не прокручивается вверх?
    Anonymous » » в форуме Android
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»