Size: a a a

Cicerone Chat (RUS)

2019 June 19

PG

Pavel Gust in Cicerone Chat (RUS)
Aleksey D.
Он ж не запрещает навигацию назад
Но стэк то пустой, куда возвращаться?
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Pavel Gust
Но стэк то пустой, куда возвращаться?
На экран из chain, который отдашь в параметр
источник

VC

Vasili Chyrvon in Cicerone Chat (RUS)
Pavel Gust
Если это не он, то можно где-то его посмотреть? Потому что я не понимаю, почему после newRootChain я могу бэкнуться на предыдущие экраны
Так сырцы посмотри.
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Pavel Gust
Но стэк то пустой, куда возвращаться?
Она ж сначала чистит, а потом добавляет цепочку, а не наоборот 🤦‍♂️
источник

PG

Pavel Gust in Cicerone Chat (RUS)
Aleksey D.
Она ж сначала чистит, а потом добавляет цепочку, а не наоборот 🤦‍♂️
Я понимаю. Чистит, добавляет в цепочку экран, который я кинул в newRootChain.
Затем я нажимаю back и попадаю на предыдущий экран от того, на который перешел.

тип A->B->C (newRootChain(A)) и я ожидаю что в стэке будет теперь только A.
Нажимаю back и вижу экран B.
источник

PG

Pavel Gust in Cicerone Chat (RUS)
newRootScreen точно так же себя ведет, хотя по сути должен вызываться finish при пустом стэке.

Либо я чего-то не понимаю, либо тут какая-то магия
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Pavel Gust
newRootScreen точно так же себя ведет, хотя по сути должен вызываться finish при пустом стэке.

Либо я чего-то не понимаю, либо тут какая-то магия
Скорее всего ты что-то не догнал
источник

AD

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

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
тише, тише. давайте просто разберемся.
вопрос должен быть в формате:
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
версия чичероне
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
набор команд
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
ожидание
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
реальность
источник

PG

Pavel Gust in Cicerone Chat (RUS)
Версия cicerone: 4.0.2

Набор команд:
navigateTo(B)
navigateTo(C)
newRootChain(A)
exit()

Ожидание:
В стэке остался только A и произойдет finish с выходом из приложения.

Реальность:
finish вызывается, но открывается экран B.
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
все экраны - это фрагменты внутри одного контейнера?
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
а. так стоп.
newRootChain - оставляет рут экран и поверх растит цепочку.
вот и выходит B - A
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
вам нужна команда newRootScreen
источник

PG

Pavel Gust in Cicerone Chat (RUS)
Konstantin Tskhovrebov
а. так стоп.
newRootChain - оставляет рут экран и поверх растит цепочку.
вот и выходит B - A
Он же вроде делает BackTo(null) что должно все скрины почистить, нет? А потом добавляет в стэк мои новые экроаны.

newRootScreen ставил вместо newRootChain. Изменений небыло. Сейчас перепроверю еще раз
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
BeckTo(null) возвращает на рут экран, а не удаляет его
источник

PG

Pavel Gust in Cicerone Chat (RUS)
Konstantin Tskhovrebov
BeckTo(null) возвращает на рут экран, а не удаляет его
Даже если так, после этого, следующую команду он делает Replace(...), что при передаче одного экрана, должно оставить в стэке один экран A.

А получается: A-B-C -> A-A (после команды)
источник