169 похожих чатов

Есть список, в списке разные элементы с разными разметками, реализован

диффутил, который в методе areItemsTheSame проверяет что у двух элементов одна разметка. В некоторых случаях при перестановке элементов возникает indexOutOfBoundsException Inconsistency Detected, invalid item и invalid adapter view holder position,кто знает почему такое может быть? Если реализовать метод который бы проверял действительно ли это тот же айтем, то все ок, но иниересно почему такое может быть

4 ответов

14 просмотров

Пеовая очевидная версия - (1) изменение списка во время пока работает дифутилс из другого треда (2) ресайклер крутят пока дифутилс работает и меняется разметка - сравн.разные элементы

Ты должен в getItemType делать проверку на нужный айтем, потом на основе этого значения создавать нужный view holder, diffs нужны для того что бы найти похожие элементы, а не узнать тип айтема

А. Там разые итемТайпс. Тогда на это и проверяй

Valeriy-Minnulin Автор вопроса

Изменение списка происходит в одном месте, мейн тред Ресайклер не крутится,специально сделал тестовую сборку чтоб нужная перестановка происходила по кнопке

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта