АЕ
Size: a a a
АЕ
AO
S
Screens
) описываете AppScreen
-ы. Если хочется различное поведение (два случая), то надо в каждой функции возвращающей AppScreen
иметь параметр, который мы будем передавать ModoRender
и еще в ViewModel
говорить Modo
, хотим мы сделать forward
или replace
. Зачем нужно первое?forward+replacePreviousScreen
отличается от replace
?AO
Screens
) описываете AppScreen
-ы. Если хочется различное поведение (два случая), то надо в каждой функции возвращающей AppScreen
иметь параметр, который мы будем передавать ModoRender
и еще в ViewModel
говорить Modo
, хотим мы сделать forward
или replace
. Зачем нужно первое?forward+replacePreviousScreen
отличается от replace
?S
АЕ
replacePreviousScreen
в аргументы функции, которая создаёт экран?S
replacePreviousScreen
в аргументы функции, которая создаёт экран?KT
AppNavigator
можно было переопределить метод errorOnApplyCommand
, который позволял обрабатывать различные эксепшны, которые к примеру могут выбрасываться, когда нужно было сделать звонок (перейти на ActivityScreen), но пользователь не дал разрешение на него. И у ActivityScreen
в блоке можно было обращаться к контексту, сейчас же я могу только вернуть интент, доступа к контексту нет (. У ModoRender
доступа к контексту нет да и непонятно где обработка должна быть (в setupTransaction(…)
?) Контекст есть у AppReducer
, но его нельзя унаследовать, да и поле приватное. Как быть?FragmentScreen
/ AppScreen
, в разных местах у меня может быть требование/желание показывать их по-разному (к примеру, с разными анимациями). Сейчас не вспомню точно как Вы ответили, но мы вроде бы сошлись на том, что в месте вызова метода роутера ему нужно передать конфигурацию с который мы бы хотели совершить навигацию, сейчас же кажется нужно в setupTransaction
, как и в чичероне по выборке “предыдущий->следующий” навигатору решать как ему обрабатывать транзакцию. А разве это его обязанность? Подскажите, как быть и в курсе ли Вы этого вопроса? Не хотелось бы иметь простыню из ифовAppReducer
/ AppNavigator
может по команде forward
/ navigateTo
не только добавлять фрагмент, но и заменять его? Причем замена это поведение по умолчанию, у меня как-то не складывается это все в голове. Скорее всего просто потому что в Android предпочитается делать replace
, а не add
(может это с бэкстэком связано?). Я еще нуб и на этот вопрос пока скрупулезно ответ не искал. Но возник другой вопрос - почему сам экран решает, какой на него переход должен произойти (add
/ replace
), а не роутер?setupTransaction
я бы по этому полю ориентировался как именно настроить транзакциюreplace
и add
ничем не отличаются у фрагмент менеджера. названия просто смущают. replace при добавлении нового экрана в стек очищает UI предыдущего, а add оставляет.KT
S
setupTransaction
я бы по этому полю ориентировался как именно настроить транзакциюreplace
и add
ничем не отличаются у фрагмент менеджера. названия просто смущают. replace при добавлении нового экрана в стек очищает UI предыдущего, а add оставляет.S
setupTransaction
я бы по этому полю ориентировался как именно настроить транзакциюreplace
и add
ничем не отличаются у фрагмент менеджера. названия просто смущают. replace при добавлении нового экрана в стек очищает UI предыдущего, а add оставляет.KT
KT
S
KT
modo.forward(MyScreen(my_animation_params))
S
modo.forward(MyScreen(my_animation_params))
KT
S
KT
S