экранов, где изменение инфо и тд
я не хочу пилить 15 фрагментов для каждого экрана поэтому задумался
я могу каждый экран разбить на фрагменты
я могу просто скрывать и показывать определенные блоки (экраны), используя 1 фрагмент
каким образом разумней сделать?
Можно один фрагмент в котором табы, а под ними RecyclerView с пунктами меню, дивайдерами и прочими элементами, в зависимости от выбранного таба подгружаются в адаптер нужные айтемы и отображаются в зависимости от ViewType
в плане нагрузки, лучше фрагментами или скрытие, если скрытие уместно в ситуации?
Я ж выше написал как оптимально. Не надо делать никакого скрытия, это раздует фрагмент по коду, много фрагментов тоже не надо создавать. Должен быть презентер, где есть список из MenuItem, сам MenuItem это data class с полями title, type, settingGroup, icon, type-это поле, которое обозначает разделитель это или другой какой-то элемент дизайна, или сам пункт меню, чаще всего там лежит enum с константами, которые и перебирает адаптер, определяя по ним viewType, settingGroup это поле, которое является ключом, говорящим о том, к какому табу настроек относится твой пункт меню, ты обращаешься к презентеру из TabSelectedListener с этим ключом, чтоб презентер тебе отдал из списка только те айтемы, которые соответствуют табу и засетил их в адаптер, title понятно что такое, icon это @DrawableRes, который Int, чтоб иконки было проще определять
Спасибо за ответ попробую так сделать
Главное смысл вкури, там останется только для каждого элемента написать clicklistener, его можно сделать как экстеншен, чтоб удобней было
Обсуждают сегодня