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

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

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

4 ответов

6 просмотров

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

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

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

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

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

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта