Size: a a a

Cicerone Chat (RUS)

2020 November 02

IG

Ilya Gulya in Cicerone Chat (RUS)
Egor Sigolaev
Привет всем. Подскажите, из - за чего может падать приложение с ошибкой Can not perform this action after onSaveInstanceState? Я дергаю у двух роутеров (внешний и внутренний для табов) реплейсы на нужные скрины.
Видимо не убираете навигатор из роутера после onPause
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Ilya Gulya
Видимо не убираете навигатор из роутера после onPause
А, кстати. Че за фигня. У меня после перезапуска прилки (из онстопа и в он старт), навигация начинает с нуля. Тоесть показывается стартовый экран. Это из за этого?
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Это нормально?
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Ilya Gulya
Видимо не убираете навигатор из роутера после onPause
Это в главной активити или у каждого фрагмента?
источник

IG

Ilya Gulya in Cicerone Chat (RUS)
Egor Sigolaev
Это в главной активити или у каждого фрагмента?
Я не знаю как у вас в приложении устроена навигация, так что неизвестно.
Но если вы не будете убирать навигатор из роутера после onPause, у вас будут пытаться выполняться транзакции фрагментов после onPause, а это запрещено и приводит к эксепшену что вы показали выше.
источник

IG

Ilya Gulya in Cicerone Chat (RUS)
В общем случае в onResume вы ставите навигатор в том месте где у вас контейнер для фрагментов которым управляет навигатор, а в onPause убираете навигатор.
источник

IG

Ilya Gulya in Cicerone Chat (RUS)
Посмотрите семпл Cicerone, там всё супер подробно и понятно
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Ilya Gulya
В общем случае в onResume вы ставите навигатор в том месте где у вас контейнер для фрагментов которым управляет навигатор, а в onPause убираете навигатор.
Понял, я туплю, не сделал это, спасибо
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Теперь ловлю FragmentManager is already executing transactions, хотя у двух нав холдеров свои навигаторы со своими фрагмент менеджерами
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Egor Sigolaev
А, кстати. Че за фигня. У меня после перезапуска прилки (из онстопа и в он старт), навигация начинает с нуля. Тоесть показывается стартовый экран. Это из за этого?
фигня, про которую тебе уже писали - у тебя нет проверки на стейт в onCreate перед отправкой команды в навигатор
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Aleksey D.
фигня, про которую тебе уже писали - у тебя нет проверки на стейт в onCreate перед отправкой команды в навигатор
А зачем она? Это же костыль уже выходит.
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Egor Sigolaev
А зачем она? Это же костыль уже выходит.
что в этом костыльного? с самого начала с фрагментами через условие работали
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Вот я вижу, что реплейс крашит, а navigateTo работает
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
почему так?
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Egor Sigolaev
почему так?
хз, где-то через жопу код написал)
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
неа, просто поменял сейчас replace на navigateTo и заработало
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Aleksey D.
хз, где-то через жопу код написал)
https://github.com/terrakok/Cicerone/issues/104 вот доказательство, не я один такой
источник

AD

Aleksey D. in Cicerone Chat (RUS)
закрыли и решили
источник

ES

Egor Sigolaev in Cicerone Chat (RUS)
Aleksey D.
закрыли и решили
неа, ничего не закрыли. у меня стоит 6.2 версия, баг не прошел
источник

AD

Aleksey D. in Cicerone Chat (RUS)
Egor Sigolaev
неа, ничего не закрыли. у меня стоит 6.2 версия, баг не прошел
ну issue-то закрыто
источник