First_Spectr
@First_Spectr
Студент

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

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

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

Войти через TM ID
Похожие вопросы
Blogman Оренбург
от 20 000 до 110 000 руб.
Frogogo Москва
от 100 000 руб.
BTlabs Москва
от 60 000 руб.