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

Уважаемые асы андроид разработки, дайте свой комментарий, пожалуйста. Есть знакомый

программист, пишет под андроид уже много лет. В моем нынешнем приложении (SingleFragmentActivity) переход между фрагментами реализован при помощи SupportFragmentManager, т.е. грубо говоря по нажатию на кнопку, я делаю реплейс фрагментов в контейнере активити. Он говорит, что это неправильно и что это - ошибка проектирования. Что лучше сделать методы в хост активити, которые будут реализовывать этот самый переход между фрагментами. Т.е. мне нужно будет вместо вызова сапорт фрагмент менеджера делать вызов такого метода из активити. ИМХО - какая-то дичь. А вы как посоветуете делать?

5 ответов

4 просмотра

активитя в роутере мне пригодилась 3 раза: 1. activity#onBackPressed 2. activity#startActivity(intent) 3. activity.isDestroyed - return в остальном она нахуй не нужна, и переходы все через fragment manager

Погоди не понятно чем ваши подходы отличаются. У друга твоего все разруливает активити ок. А у тебя где это все происходит? Ты написал что у него в активити а у тебя с помощью врагмент менеджера, а у него не через фрагмент менеджер что ли ?

В книге "Android. Программирование для профессионалов" советуют делать такой абстрактный класс: abstract class SingleFragmentActivity : AppCompatActivity() { protected abstract fun createFragment(): Fragment override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_fragment) val fragmentManager = supportFragmentManager var fragment = supportFragmentManager.findFragmentById(R.id.fragment_container) if (fragment == null) { fragment = createFragment() fragmentManager.beginTransaction() .add(R.id.fragment_container, fragment) .commit() } } }

Это не дичь. Это называется чистый код. Зачем тебе в 100 фрагментах писать одно и тоже, когда ты можешь создать для себя методы. В данном случае replaceFragment и вызывать его.

Вообще всё равно.

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

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

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
@FAssembler ты много с формами работал, как цикл обработки сообщений от окошек надо делать, чтобы IsDialogMessage не ломал ввод в эдиты и навигация по табам работала?
The Bird of Hermes
8
Карта сайта