Size: a a a

Cicerone Chat (RUS)

2020 October 14

AC

Arsen CeH9 in Cicerone Chat (RUS)
replace уводит лайфсайкл в стейт Created, а add оставляет в Resumed
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
вопрос был в том, что у первого экрана отработает какая-то логика(в колбеке резатла), при том, что второй экран еще не закрыли?
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
другой момент в том, что слушатели хранятся в мапе, т.е. там именно set а не add, т.е. любой вызов сеттера перезапишет старый слушатель
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
но типа это легко хендлится тем, что реквестКи делается уникальным, например:
1) Экран Альбом
2) Экран Трека
перед открытием второго экрана вешается слушатель с ключем типа "song" + "songId"
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
плюс нужно удалить слушатель по возвращению, с чем не должно возникнуть проблем
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Я вам про реплейс экранов говорю, а не про метод реплейс в реализации андроидного менеджера.
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Это разные вещи. Я про стек, а там про разрушение вьюшки.
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
Только интересно, что будет если я отправлю результат, но не закрою экран, а тот кто слушает результат, откроет сверху еще экран...
Кто пробовал?
Или подобное поведение остается на откуп разработчикам?

не увидел тут ничего про стек/реплейс
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
Konstantin Tskhovrebov
Это разные вещи. Я про стек, а там про разрушение вьюшки.
это смотря какой лайфсайкл передать, если вьюшный, то одно, а если самого фрагмента, то другое. Последний живет столько же сколько и презентер/ВМ
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
в кейсе с полной заменой стека умрут все старые презентеры/ВМ,
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
для более глобального слушателя можно свою реализацию Lifecycle подложить
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
кста напомню, что обычные юзеры подразумевают, что у приложения один рутовый фрагментМенеджер в мейн активити,  где вся навигация пляшет вокруг него одного. А врапперы типа ScopeFragment, где у каждого по своему чайлдФМенеджеру, это уже экзотика, которую желательно отдельно указывать в вопросе.
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Все равно не понимаю о чем вы.
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
Konstantin Tskhovrebov
Все равно не понимаю о чем вы.
 что будет если я отправлю результат, но не закрою экран 

закрытие/не закрытие экрана никак не связано с доставкой результата. Все зависит от стейта слушателя, если Started+ то обработает сразу, иначе отложит на потом (обсервер стейта  доставит, когда будет Started+, если такой вообще наступит)

 а тот кто слушает результат, откроет сверху еще экран 

Как и в первом абзаце, все зависит от того, что произойдет со стейтом "того, кто слушает", будет ли он уничтожен или нет.
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Ок, вы про фрагменты и слушателя внутри фрагментов.
Для меня (и Чичероне) этой проблемы не стоит, так как вью модели живы, даже когда экран в бек стеке. Кроме случая после смерти процесса, но это отдельная история
источник

KT

Konstantin Tskhovreb... in Cicerone Chat (RUS)
Релиз на Котлине. Такие дела.
А еще можно теперь управлять стратегией переключения экранов (add/replace)
А еще использовать FragmentFactory.
источник

AP

Alexey Pushkarev in Cicerone Chat (RUS)
Свершилось таки)
источник

AP

Alexey Pushkarev in Cicerone Chat (RUS)
Котлин!
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
Если такая проблема не стоит перед чичероне, тогда в чем заключался ваш вопрос?
источник

AC

Arsen CeH9 in Cicerone Chat (RUS)
фрагмент тоже живой, когда он в бекстеке (created + attached стейты)
источник