Привет.
Очень странная проблема. Делаю приложение заметок, по логике аналогичное Google заметкам. Есть Room бд. Открывается главный экран -> список заметок (объект Note с полями "имя" и "текст"), с помощью getAll из бд. В onRefresh снова вызывается getAll, а затем метод адаптера adapter.onNewData, в котором вызывается DiffUtil callback со сравнением теста и имени заметки. Однако в чём хитрость - после редактирования заметки в отдельном в активити (в которое выбранный объект заметки попадает через класс Note handler, и потом через Dao.update(Note) бд обновляется) в дифф утил попадают два уже новых массива. Т.е. массив адаптера каким-то образом получает изменения одного изменённого объекта из другой активити. Как это возможно? Из-за этого и дифф утил не работает собственно. Ощущение, что это как в C, мол все массивы ссылаются на один объект в памяти...