First_Spectr
@First_Spectr
Студент

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

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

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

Войти через центр авторизации
Похожие вопросы
Dialog Москва
от 180 000 до 240 000 руб.
iGooods.ru Санкт-Петербург
от 150 000 руб.
AURA Devices Москва
от 100 000 до 180 000 руб.