First_Spectr
@First_Spectr
Студент

Как правильно делать навигацию между фрагментами назад?

Есть несколько фрагментов, среди них - авторизация(А) и профиль(Б). Когда пользователь авторизуется, я заменяю A на Б без добавления в backstack, что бы backPress"ом нельзя было вернуться к авторизации. Остальные фрагменты добавляются в стек. В итоге при backPress фраг. Б не удаляется, а остается за фрагментом, который предшествовал А.
У меня есть пара вариантов решения:
1) Искать по тегу/id фрагмент там где он быть не должен и удалять
2) Сделать фон всех фрагментов непрозрачным, тогда он останется, но видно его не будет.
Почему это происходит я понимаю, при backPress FragmentManager пытается удалить А, а его там уже нет.
Хотел бы узнать как это обрабатывать правильным путём.
  • Вопрос задан
  • 54 просмотра
Решения вопроса 1
thelongrunsmoke
@thelongrunsmoke
Программист
Существует простой подход к этому вопросу. Когда вам нужна авторизация, вы с помощью startActivityForResult() запускаете активити с фрагментом А(для которой прописаны флаги NO_HISTORY и SECURE), и ловите её результат.
Перестаньте использовать фрагменты по поводу и без, они созданы чтобы облегчить вам жизнь, а не создавать новые проблемы.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы