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

Подскажите каким лучше образом реализовать экраны ветки настроек из 10-15

экранов, где изменение инфо и тд
я не хочу пилить 15 фрагментов для каждого экрана поэтому задумался

я могу каждый экран разбить на фрагменты
я могу просто скрывать и показывать определенные блоки (экраны), используя 1 фрагмент

каким образом разумней сделать?

5 ответов

19 просмотров

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

Gordey-Moiseenko 🇷🇺 Автор вопроса
Руслан Иваныкин
Можно один фрагмент в котором табы, а под ними Rec...

в плане нагрузки, лучше фрагментами или скрытие, если скрытие уместно в ситуации?

Gordey Moiseenko 🇷🇺
в плане нагрузки, лучше фрагментами или скрытие, е...

Я ж выше написал как оптимально. Не надо делать никакого скрытия, это раздует фрагмент по коду, много фрагментов тоже не надо создавать. Должен быть презентер, где есть список из MenuItem, сам MenuItem это data class с полями title, type, settingGroup, icon, type-это поле, которое обозначает разделитель это или другой какой-то элемент дизайна, или сам пункт меню, чаще всего там лежит enum с константами, которые и перебирает адаптер, определяя по ним viewType, settingGroup это поле, которое является ключом, говорящим о том, к какому табу настроек относится твой пункт меню, ты обращаешься к презентеру из TabSelectedListener с этим ключом, чтоб презентер тебе отдал из списка только те айтемы, которые соответствуют табу и засетил их в адаптер, title понятно что такое, icon это @DrawableRes, который Int, чтоб иконки было проще определять

Gordey-Moiseenko 🇷🇺 Автор вопроса
Gordey Moiseenko 🇷🇺
Спасибо за ответ попробую так сделать

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

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

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

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