Я пытался сделать такой макет, но зашел в тупик - у меня получилась ужасная луковица, где адаптер вложен в адаптер раза четыре наверное. Это крайне сложно воспринимать, править, и в итоге я не смог довести до конца, потому что в какой-то момент из текущего места уже невозможно пользоваться findViewById и прочие технические вещи. В общем, скорее всего просто подход в целом у меня неправильный.
Можете рассказать (можно без кода, просто концептуально) как правильно делать такие вложенные вещи? Какие лучше использовать классы для каждого элемента и как вообще правильно в таких случаях их связывать. Идея такая:
Серым - это активити в целом
Зеленым - это вкладки
Белым - содержимое вкладки
Оранжевым - набор кнопок, который зависит от выбранной вкладки. Выбираешь другую вкладку - получаешь другой набор кнопок.
Голубым - список элементов. Зависит от того, какая кнопка нажата.
Общая схема работы такая - есть список категорий, подкатегорий и предметов в подкатегории, все это хранится в БД. Вкладки заполняются на основе категорий. Когда пользователь выбрал категорию (нажал вкладку), тянем из БД список подкатегорий и на их основе делаем кнопки. Пользователь выбрал категорию (нажал кнопку) - загружаем из БД список предметов. Пользователь нажал на предмет - открываем новую активити с описанием предмета.