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

Подскажите с решением проблемы: В RecyclerView в Holder-ах есть кнопка, нажимая

на которую Holder, в котором была эта кнопка, удаляется.
Как это реализовать?

27 ответов

15 просмотров

адаптер триггернуть чтобы он убрал элемент в датасете своем и вызвал notifyRemoved

как передать нажатие из Holder-а в адаптер? Получается, в Holder на кнопках есть свой слушатель, а как дальше лучше сделать я не пойму.

есть свойство adapterPosition это индекс, удаляешь по нему данные и в notifyRemoved передаешь так же

спасибо)

рекомендую плюнуть на обычный RecyclerView.Adapter и сразу посмотреть в сторону ListAdapter. Меньше бойлерплейткода и если сразу поймешь в чем он хорош, то ради интереса хватит прочтения исходного кода его. Заодно получишь анимации на обновление ресайклервью и не будешь нагружать главный поток

каллбэк callback: () -> Unit

натащат всяких высокоуровневых штук, а потом всё ломается)

угу, даже смотрел как индусы решают эту проблему

какую?

че там ломается емае 😎

с самоуничтожающимся Holder-ом

ну только понадобится что-то новое необычное и придётся на обычный адаптер перепиливать)

ну вот давай назови юзкейс) не думаю что есть такой где тебе придется ради одной штуки мучаться так что городить самому либо искать реализацию где за тебя сделали нормальные апдейт, ремув, и т.д. без бойлерплейта в листадаптере за тебя сделает все диффутил

ну мне просто дифф утил не нравится и я сам всё пишу)

чем не нравится? 😏

тоже самое можно руками сделать без особого бойлерплейта

а что будет если тебе, например, нужно прогресс обновлять на одном из холдеров по 10 раз в секунду будешь каждый раз дифф утил вызывать с фоновым потоком?)

так мне проще всего калбэк юзать?

калбэк в любом случае будет, просто ты либо вьюхолдер в адаптере будет вызывать код адаптера либо ты делегируешь это через вьюшку вьюмодельке которая тебе новый лист засабмитит

так он ж эффективный все равно, обновит только то что надо

лол, наспамит задач в бэк поток, а они с задержкой будут доходить до UI,а не мгновенно, прикинь 10 задач будет в бэк поток кидать в секунду, когда нам нужно изменения мгновенно показывать, это вообще не вариант

https://youtu.be/GZkTwgetUWI?t=1443

спасибо, только хотел посмотреть

это если использовать асинклистдиффер, но диффутил может и в мейне работать

зачем просчитывать целый список в мейне 10 раз в секунду, если можно напрямую эвент прокидывать)

Это значит что заказчик крайне странного захотел. Для показа мультфильмов лучше что то другое использовать

я кинул ссыль, самый обычный кейс - загрузка картинки или прослушивание аудиосообщения)

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

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

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Карта сайта