Как вложить RadioGroup с динамическими списками RadioButton внутри каждой строки / элемента RecyclerView

Мне нужен макет, как это:

введите описание изображения здесь

Красные заголовки - это первый массив уровней dish_options и RadioButtons заселены из массива itemsвнутри dish_options из JSON:

введите описание изображения здесь

Как вы можете заметить dish_options это массив, который может иметь гораздо больше объектов внутри одного из ключей этого dish_options может хранить items массивы.

Я пытался с помощью getItemViewType() и установить разные макеты для первого уровня dish_options (красный заголовок) и реализовали другой макет для RadioButton в каждом ряду itemsпроблема в том, что я должен использовать RadioGroup, чтобы сделать RadioButton уникальный (только 1 клик на радиогруппу). Так что я застрял с этим и не знаю, как поступить.

Должен ли я вкладывать RecyclerView внутри каждой строки RecyclerView?

1 ответ

Вы можете попробовать этот код https://github.com/h6ah4i/android-advancedrecyclerview

Это единственный адаптер с groupSection или GroupItem, поддерживаемый с одним recyclerView, потому что ваш дизайн не слишком сложен, это может быть полезно

первый забег "draggable with section"как есть... а затем измените макет в соответствии с вашими потребностями

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

implements DraggableItemAdapter<DraggableWithSectionExampleAdapter.MyViewHolder>

Внимательно посмотрите на этот класс, и вам может понадобиться как-то таким образом интегрировать данные JSON или в эти классы (я советую, если вы не эксперт) строку комментариев № 37 - 53, и попытайтесь реплицировать их с вашими данными.

https://github.com/h6ah4i/android-advancedrecyclerview/blob/master/example/src/main/java/com/h6ah4i/android/example/advrecyclerview/common/data/ExampleSectionDataProvider.java

Поскольку вам необходимо выбрать некоторые или нет элементов из группы, ... вы можете установить флажок или переключить изображения и установить 0 для непроверенного или 1 для отмеченного для вашего класса данных (я имею в виду ваш класс POJO, который вы генерируется из JSON или вы даже можете сохранить ключ в JSON)

Другие вопросы по тегам