некий список, но он на самом деле состоит из объектов двух классов, унаследованных от родительского, абстрактного. Первый класс - класс кнопки, второй - уже собственно робота, у робота есть некие свойства. У кнопки их нет, она всегда стоит 0 по счёту в массиве данных.
Недавно решил сделать DiffUtil.Callback, всё вроде и хорошо, но в нём существует метод getChangePayload, который для простых случаев должен показывать разницу двух объектов в Recycle View, сравнивать их свойства. Но в том то и дело, у меня встречаются объекты разных классов. Сравнить их соответственно нельзя. Как быть в этом случае?
Логику DiffUtil брал отсюда - https://medium.com/mindorks/diffutils-improving-performance-of-recyclerview-102b254a9e4a
зачем пэйлоад в данном случае?
У меня может происходить изменение одного робота (имя), соответственно нужно обновить экран, и как я понимаю payload участвует в этом. А можно и удалять робота.
Тогда и забей.)
Удивительно, но правда. Если удалить этот метод, то оно всё равно вроде работает.
ахаха, посмотри в инете, как дифутил работает, очень помогает в осознании механизма
Обсуждают сегодня