Size: a a a

Cicerone Chat (RUS)

2019 April 27

N

Nikita in Cicerone Chat (RUS)
добрый вечер всем!
подскажите пожалуйста, как можно (если вообще можно) переопределить у навигатора forward команду, чтобы вместо replace фрагмента седалать show если он уже есть в менеджере? и hide текущего фрагмента.
источник
2019 April 28

L

Little Panda 🐼 in Cicerone Chat (RUS)
Nikita
добрый вечер всем!
подскажите пожалуйста, как можно (если вообще можно) переопределить у навигатора forward команду, чтобы вместо replace фрагмента седалать show если он уже есть в менеджере? и hide текущего фрагмента.
Там же где создаете объект класса Navigator, внутри переопределяете нужный вам метод. В вашем случае либо applyCommand и внутри него перехватываете команду Forward, либо метод activityForward
источник

N

Nikita in Cicerone Chat (RUS)
дело в том что в методе fragmentForward в SupportAppNavigator используются переменные класса, к которым нет доступа. а их использование я так понимаю необходимо.. например localStackCopy
источник

L

Little Panda 🐼 in Cicerone Chat (RUS)
Nikita
дело в том что в методе fragmentForward в SupportAppNavigator используются переменные класса, к которым нет доступа. а их использование я так понимаю необходимо.. например localStackCopy
Ну так напишите свой навигатор.
источник
2019 April 29

AR

Artem Rumyantsev in Cicerone Chat (RUS)
Добрый день. Сейчас пробую single activity, и у меня появилась проблема. У активити и у флоу фрагмента есть свои навигаторы. Когда мы открываем апу в первый раз, все работает нормально. В активити в методе onResumeFragments вызывается navigatorHolder.setNavigator(navigator), а потом в нем открывается флоу фрагмент, у которого есть свой навигатор, и в методе onResume, он перезаписывает навигатор активити во вьюхолдере.  
Проблема начинается, когда мы закроем и откроем аппу. В этот момент активити и флоу фрагмент одновременно ресьюмятся, и так получается, что navigatorHolder.setNavigator(navigator) активити вызывается ПОСЛЕ того как вызывается аналогичный метод во флоу фрагменте.  
Вопрос, как можно гарантировать что флоу фрагменты будут сетить холдер свой навигатор после того как это сделает активити?
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
Так как не надо делать один чичероне на весь проект. Надо для каждой навигации делать свой экземпляр
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
Изучите @gitfox
источник
2019 April 30

AP

Alexey Pushkarev in Cicerone Chat (RUS)
Всем привет. В SupportAppNavigator есть метод:

protected void fragmentBack() {
       if (localStackCopy.size() > 0) {
           fragmentManager.popBackStack();
           localStackCopy.removeLast();
       } else {
           activityBack();
       }
   }

Так вот нужно слегка поменять условие, на localStackCopy.size() > 1. Ради этого по сути мне приходится писать свой навигатор, т.к. localStackCopy private, хотя мой будет отличаться лишь одним условием. Нельзя ли в этом навигаторе сделать публичный метод getStackSize(), который вернет размер localStackCopy? Тогда можно было бы наследоваться и заоверайдить fragmentBack(). @terrakok что думаешь?
источник

TD

T D in Cicerone Chat (RUS)
Всем привет
источник

TD

T D in Cicerone Chat (RUS)
В проекте есть Cicerone 3.0 и код
https://pastebin.com/AfmRU6it

Подскажите как мигрировать его в cicerone 5.0 для AndroidX?
источник

TD

T D in Cicerone Chat (RUS)
Очеь много методов поменялось....
источник

TD

T D in Cicerone Chat (RUS)
К примеру newScreenChain нету....
источник

L

Little Panda 🐼 in Cicerone Chat (RUS)
Alexey Pushkarev
Всем привет. В SupportAppNavigator есть метод:

protected void fragmentBack() {
       if (localStackCopy.size() > 0) {
           fragmentManager.popBackStack();
           localStackCopy.removeLast();
       } else {
           activityBack();
       }
   }

Так вот нужно слегка поменять условие, на localStackCopy.size() > 1. Ради этого по сути мне приходится писать свой навигатор, т.к. localStackCopy private, хотя мой будет отличаться лишь одним условием. Нельзя ли в этом навигаторе сделать публичный метод getStackSize(), который вернет размер localStackCopy? Тогда можно было бы наследоваться и заоверайдить fragmentBack(). @terrakok что думаешь?
Такой PR еще с февраль месяца висит. https://github.com/terrakok/Cicerone/pull/101
источник

AP

Alexey Pushkarev in Cicerone Chat (RUS)
Little Panda 🐼
Такой PR еще с февраль месяца висит. https://github.com/terrakok/Cicerone/pull/101
Не, это не то. Делать protected поля неправильно, а вот просто size localStack норм
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
Библиотека- это общее решение.

1) создайте ишью на гитхабе
2) покажите проблему
3) если она общая, а не частная, то будет решение
источник

VC

Vasili Chyrvon in Cicerone Chat (RUS)
Alexey Pushkarev
Всем привет. В SupportAppNavigator есть метод:

protected void fragmentBack() {
       if (localStackCopy.size() > 0) {
           fragmentManager.popBackStack();
           localStackCopy.removeLast();
       } else {
           activityBack();
       }
   }

Так вот нужно слегка поменять условие, на localStackCopy.size() > 1. Ради этого по сути мне приходится писать свой навигатор, т.к. localStackCopy private, хотя мой будет отличаться лишь одним условием. Нельзя ли в этом навигаторе сделать публичный метод getStackSize(), который вернет размер localStackCopy? Тогда можно было бы наследоваться и заоверайдить fragmentBack(). @terrakok что думаешь?
А для чего 1?
источник

AP

Alexey Pushkarev in Cicerone Chat (RUS)
Vasili Chyrvon
А для чего 1?
ну если у меня 1 фрагмент в стеке, то значит это последний экран и по нажатию back дальше уже закрывать приложение, то есть финишировать активити надо, а не выкидывать фрагмент со стека.
источник

VC

Vasili Chyrvon in Cicerone Chat (RUS)
Alexey Pushkarev
ну если у меня 1 фрагмент в стеке, то значит это последний экран и по нажатию back дальше уже закрывать приложение, то есть финишировать активити надо, а не выкидывать фрагмент со стека.
А ну то есть это для работы с не-сингл-активити прилагой просто?
источник

AP

Alexey Pushkarev in Cicerone Chat (RUS)
Vasili Chyrvon
А ну то есть это для работы с не-сингл-активити прилагой просто?
с сингл активити.
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
Первый экран надо рутом ставить, а не в стек класть
источник