Разметить RecyclerView внутри RecyclerView

Всем доброго дня. Задача следующая: Есть фрагмент, внутри которого есть RecyclerView с некоторым списком item'ов. В каждом item могут быть вложены свои item'ы. Отображение родительского RecyclerView я реализовал, а как внутрь элемента в нем добавить свои элементы не пойму. Масло масленое, но суть должна быть ясна. может кто сталкивался? Или есть другие решения для данной задачи?


Ответы (1 шт):

Автор решения: Sergei Buvaka

Создаете RecyclerView в котором в качестве элемента адаптера является макет с RecyclerView. Вам нужно будет написать свой второй адаптер для внутреннего RecyclerView и его отдельно биндить.

Дальше передаете в основной RecyclerView список списков данных или же пишете какие-то кастомные методы для передачи данных для списков отдельно.

Но тут есть много подводных камней. Например вы скролите один список - нажимаете на элемент - проваливаетесь в детали - возвращаетесь обратно, а место где вы были во внутреннем списке сбрасывается. Вам надо это контролировать.

Вам придется прокидывать кликлистенеры через 2 адаптера, а это не очень красиво да и чревато багами.

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

Проще работать если вы к примеру добавите нужное вам кол-во RecyclerView в ScrollView (хотя и тут не все красиво). Если конечно их там не 100 шт.

Или как вариант сделать каждый RecyclerView отдельным фрагментов и сделать ScrollView в котором будут фрагменты с RecyclerView. Так вы каждый Recycler инкапсулирете в отдельный контейнер, который сам будет обрабатывать всю работу со списком.

Ну что бы вы не выбрали, это не оч простое решение будет.

→ Ссылка