Size: a a a

Cicerone Chat (RUS)

2021 March 18

T

Tony in Cicerone Chat (RUS)
Ребят, странное поведение(во всяком сулчае для меня) В Активити сделал setNavigator. Есть drawer, в нем жму на кнопку чтобы открылся фрагмент(router.newRootScreen). После в фрагменте октрываю новый скрин(router.navigateTo) и он открывается как рутовый. Кто-то знает почему? P.S. если в drawer заменить router.newRootScreen на router.navigateTo, То все ок. Но нужен всегда рутовый)
источник
2021 March 19

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
в связи с обновлением телеграмма https://telegram.org/blog/voice-chats-on-steroids/ru?ln=a
может организовать здесь локальный эфирчик с записью? опять буду отвечать на вопросы и расскажу о планах. Не знаю пока когда, пока смотрю на интерес
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Делать голосовой чат про навигацию?
Анонимный опрос
29%
Да, буду участвовать (если время подойдёт)
42%
Буду слушать в записи
21%
Не стоит, лучше обойтись текстовым общением
9%
Лучше код пиши, не спамь в телеграмм!
Проголосовало: 101
источник
2021 March 24

S

Silent829 in Cicerone Chat (RUS)
Правильно же я понимаю, что в активити теперь не нужно добавлять addOnBackPressedCallback так как мы уже задаем логику ModoRender (по умолчанию finish(), но можно и свою пихнуть)?
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Никогда и не надо было
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Все зависит от вашей логики
источник

S

Silent829 in Cicerone Chat (RUS)
Konstantin Tskhovrebov
Никогда и не надо было
верно, значит и во фрагментах не нужно же? спасибо
источник

RB

Robert Badamshin in Cicerone Chat (RUS)
Приложение Single-Activity, Cicerone 5.0.0

Столкнулся с проблемой:
Показываются фрагменты A, B (могут быть не только 2 фрагмента, а более)
Вызываю:
router.backTo(null)

Ожидание:
вызывается onDestroy() у фрагмента B, вижу фрагмент A.

Реальность:
onDestroy() не вызывается у фрагмента B, вижу фрагмент A.
источник
2021 March 25

S

Silent829 in Cicerone Chat (RUS)
Robert Badamshin
Приложение Single-Activity, Cicerone 5.0.0

Столкнулся с проблемой:
Показываются фрагменты A, B (могут быть не только 2 фрагмента, а более)
Вызываю:
router.backTo(null)

Ожидание:
вызывается onDestroy() у фрагмента B, вижу фрагмент A.

Реальность:
onDestroy() не вызывается у фрагмента B, вижу фрагмент A.
мб проблема с reordering?
источник

RB

Robert Badamshin in Cicerone Chat (RUS)
Реордеринг включен. Пробовал отключать, поведение не поменялось

Скорее проблема в backToRoot у навигатора, где вызывается fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
источник

RB

Robert Badamshin in Cicerone Chat (RUS)
Александр
Привет. Использую moxy и cicerone. Подскажите, есть фрагмент А1, делаю  открытие (fragmentForward) фрагмета Б, после делаю newRootScreen на фрагмент А2. Перед тем как стартует А2 вижу что на А1 накатывается ViewState (на него сначала накатывает ViewState, потом срабатывает onResume, потом сразу onDestroyView/onDestroy).

Нормально что при newRootScreen, рутовый фрагмент перед уничтожением принимает на себя viewState?
Попробовал переопределить, если screen==null, то выполняю сначала
while (fragmentManager.backStackEntryCount > 0) {
     fragmentManager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
}
потом вызываю super

Это помогло, но ломается кейс в сообщении, будто реордеринг выключен

UPD
Наверно стоит уточнить, что фрагменты я добавляю, а не заменяю
источник

А

Александр in Cicerone Chat (RUS)
Robert Badamshin
Попробовал переопределить, если screen==null, то выполняю сначала
while (fragmentManager.backStackEntryCount > 0) {
     fragmentManager.popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE)
}
потом вызываю super

Это помогло, но ломается кейс в сообщении, будто реордеринг выключен

UPD
Наверно стоит уточнить, что фрагменты я добавляю, а не заменяю
Прошло почти два года, как залетела цитата сообщения 😁
источник
2021 March 26

RB

Robert Badamshin in Cicerone Chat (RUS)
в целом все решилось, ситуация была такая:

«Столкнулся с проблемой:
Показываются фрагменты A, B (могут быть не только 2 фрагмента, а более)
Вызываю:
router.backTo(null)

Ожидание:
вызывается onDestroy() у фрагмента B, вижу фрагмент A.

Реальность:
onDestroy() не вызывается у фрагмента B, вижу фрагмент A.»

onDestroy не вызывался из-за того, что popBackStack(null, INCLUSIVE) шедулится, а не выполянется сразу, а мы после backTo(null) начинали сразу вручную управлять фрагментами во fragmentManager(да есть еще и другие фрагменты, которыми мы управляем вручную, а не через Cicerone), что затрагивало те fragment’ы, которые не успели удалиться, в частности фрагмент B.


Добавил между backTo(null) и работой над фрагментами в fragmentManager вручную вызов fragmentManager.executePendingTransactions().
источник
2021 March 28

L

Little Panda 🐼 in Cicerone Chat (RUS)
@terrakok Сейчас в модо делая табы(мултистек), нет возможности(из коробки) делать табы на BottomNavigation(из material design)?
источник

L

Little Panda 🐼 in Cicerone Chat (RUS)
Мне надо наследоваться от класса MultiStackFragment, и нарисовать там. Правильно понимаю?
источник

S

Silent829 in Cicerone Chat (RUS)
Little Panda 🐼
Мне надо наследоваться от класса MultiStackFragment, и нарисовать там. Правильно понимаю?
Да
источник

S

Silent829 in Cicerone Chat (RUS)
У Константина сэмпл есть, там вместо боттомнавигейшнвью линеарлейаут с картинкой и текстом. Разницы не увидишь. Рипл эффекты изи добавляются.
источник

L

Little Panda 🐼 in Cicerone Chat (RUS)
Silent829
У Константина сэмпл есть, там вместо боттомнавигейшнвью линеарлейаут с картинкой и текстом. Разницы не увидишь. Рипл эффекты изи добавляются.
Да это посмотрел
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Little Panda 🐼
@terrakok Сейчас в модо делая табы(мултистек), нет возможности(из коробки) делать табы на BottomNavigation(из material design)?
Я планирую сделать этот момент кастомизируемым
источник

S

Silent829 in Cicerone Chat (RUS)
Konstantin Tskhovrebov
Я планирую сделать этот момент кастомизируемым
было бы отлично 👍
сейчас используется add + show/hide, планируете дать возможность делать replace? Хотя я обычно предпочитал первое
источник