главного экрана приложения. Используя navigation component, я хочу с экрана Лог ина перейти во фрагмент с главным экраном, при этом очистив из бэкстека экран Лог ина, чтобы нельзя было к нему вернуться нажатием назад. Так же, если мы перезаходим в приложение, я буду записывать в БД инфу о Лог ине, соответственно если запись будет, значит буду показывать сразу экран приложения. Но опять же, а как если я захочу разлогиниться, как мне создать фрагмент Лог ина, удалив из бэкстека фрагмент главного экрана?
Второй параметр выкидывает из бэкстека в том числе, на что ссылаешься
Тем самым делая таргет фрагмент единственным в стеке, что вам и нужно
А если фрагмента нету в стеке вообще, потому что я только зашел в приложение и хочу создать новый фрагмент, удалив имеющийся логин экран, он сработает разве так?
А у вас граф в xml или динамический?
граф в xml
Тогда у вас там указан startDestination. Значит всегда есть фрагмент.
хорошо, а когда мы приложение закрыли, потом запустили его уже залогинившись, но решили выйти, соответственно нам нужно создать фрагмент логина, при этом выбросив хоум дестинейшн?
Если в startDestination у вас какой-то хоум фрагмент, то да. Делаете экшен, в popUpTo которого пишете id вашего хоум фрагмента и параметр popUpToInclusive делаете true
понял, спасибо
Обсуждают сегодня