Size: a a a

Cicerone Chat (RUS)

2021 June 17

E

Eugene in Cicerone Chat (RUS)
нет
источник
2021 July 01

N

Nikolay in Cicerone Chat (RUS)
Добрый день.
Как реализовать такую навигацию с помощью библиотеки?
С первого фрагмента переходим на FlowFragment, у которого есть общие view для child'ов(например toolbar) и внутри FlowFragment создается новый навигатор, т.к. контейнер для навигации у него свой.
Как по кнопке назад перейти с child1 на первый фрагмент, закрыв при этом FlowFragment?

Жалко картинку не получается прикрепить, для иллюстрации проблемы
источник

S

Silent829 in Cicerone Chat (RUS)
backTo(…)? наверное
источник

N

Nikolay in Cicerone Chat (RUS)
у первого фрагмента и у FlowFragment разные навигаторы
источник

S

Silent829 in Cicerone Chat (RUS)
посмотрите семпл, мне кажется вы найдете нужное там
источник

E

Eugene in Cicerone Chat (RUS)
exit?)
источник

N

Nikolay in Cicerone Chat (RUS)
Неа)
источник

N

Nikolay in Cicerone Chat (RUS)
backTo, exit -  не выкидывают на первый Fragment.
источник

S

Silent829 in Cicerone Chat (RUS)
может это должна быть цепочка, типа back + back?
источник

N

Nikolay in Cicerone Chat (RUS)
FirstFragment -> navigateTo(FlowFragment)
FlowFragment -> exit - оставляет на экране FlowFragment
источник

N

Nikolay in Cicerone Chat (RUS)
Видимо потому, что навигатор думает, что экранов больше нет
источник

N

Nikolay in Cicerone Chat (RUS)
Мне кажется что во FlowFragment надо держать ссылки на globalNavigator и localNavigator. Но пока не понимаю как это правильно сделать
источник

A

Artyom in Cicerone Chat (RUS)
как производится навигация на flow fragment?
источник

N

Nikolay in Cicerone Chat (RUS)
Во FlowFragment создается новый навигатор (navigator = object : AppNavigator)
для открытия первого child вызывается navigator.applyCommands(arrayOf(Forward(Child1)))
для навигации по остальным экранам viewModel вызывает router.navigateTo(nextChild)
источник

N

Nikolay in Cicerone Chat (RUS)
По кнопке назад сейчас вызываю router.exit()
источник

A

Artyom in Cicerone Chat (RUS)
я про другое, если ты говоришь, что вызов rootRouter.exit() приводит в закрытию приложения, то переход на  flowFragment идет через replace или newRoot*
источник

N

Nikolay in Cicerone Chat (RUS)
Переход к FlowFragment сейчас идет через router.navigateTo(FlowFragment)
Извиняюсь. Поправочка. Приложение у меня закрывалось раньше. Сейчас если вызвать exit - просто закрывает первый child1 и на экране остается FlowFragment
источник

N

Nikolay in Cicerone Chat (RUS)
Ни exit ни backTo соответственно мне тут не поможет. exit можно вызывать сколько угодно. FlowFragment с экрана не уйдет
Я могу конечно отловить клик назад, проверить что сейчас на экране FlowFragment. Но мне не понятно как закрыть его и вернуться в первый Fragment
источник

AD

Aleksey D. in Cicerone Chat (RUS)
сказать об этом старшему роутеру
источник

AD

Aleksey D. in Cicerone Chat (RUS)
ето тоже неоч, первый чайлд должен рутом быть, а не элементом стека
источник