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

Всем привет. Подскажите, как можно сделать так, чтобы при нажатии

на элемент айтема в RecyclerView сам айтем раскрывался и внутри у него был еще один список других айтемов? Самая первая мысль это в разметке айтема поставить ресайклер и пометить как gone, а при нажатии на элемент айтема уже делать visible. Но мне эта идея не очень нравится ввиду того, что если я раскрою несколько таких айтемов, то возможно сильно понизится производительность (наверняка не знаю), да и вообще просто решение смущает. Подскажите, как лучше сделать?

13 ответов

11 просмотров

Как вариант, можно в айтеме хранить список других айтемов и при нажатии на айтем вставлять другие айтемы в список

K1tana-Zerତ🥀⃤ Автор вопроса

не получится, так как между айтемами (неракскрытыми) имеются большие отступы

1. Передавать в адаптер список элементов с подэлементами. 2. адаптер превращает его в линейный в соответствии с раскрытыми/закрытыми состояниями 3. при раскрытии/закрытии goto п.2.

K1tana-Zerତ🥀⃤ Автор вопроса

так опять же, между нераскрытыми айтемами имеются отступы. А внутренние айтемы отступов не должны иметь

Так делаешь разные viewType для внутренних и внешних айтемов и делаешь для каждого типа какие хочешь отступы

Используй разные view type и holder.

Не всегда нужно валить всё в одну кучу. И всё получится 😊

K1tana-Zerତ🥀⃤ Автор вопроса

да нет)

Здесь

погугли в маркете sample material components, там где-то подобная прога была

https://github.com/thoughtbot/expandable-recycler-view

https://play.google.com/store/apps/details?id=com.sumit.mymaterialdesign вот так, да?

Adv recyclerview.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта