Передать аргумент в вложенный навигационный график в JetPack ComposeAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Передать аргумент в вложенный навигационный график в JetPack Compose

Сообщение Anonymous »

Из документов, я вижу, вы можете гнездовать навигационные графики, как SO: < /p>

Код: Выделить всё

NavHost(navController, startDestination = "home") {
...
// Navigating to the graph via its route ('login') automatically
// navigates to the graph's start destination - 'username'
// therefore encapsulating the graph's internal routing logic
navigation(startDestination = "username", route = "login") {
composable("username") { ... }
composable("password") { ... }
composable("registration") { ... }
}
...
}
< /code>
Мне интересно, как бы можно было бы пройти аргумент в маршруте и сделать его доступным для всех композиционных устройств внутри графика навигации? < /p>
Вот мой Текущий навигационный график: < /p>
navigation(
// I'd like to grab this parameter
route = "dashboard?classId={classId}",
startDestination = Route.ScreenOne.route) {
composable(Route.ScreenOne.route) {
// And then pass the parameter here, or to any composable below
ScreenOne(classId)
}
composable(Route.ScreenTwo.route) {
ScreenTwo()
}
composable(Route.ScreenThree.route) {
ScreenThree()
}
}
< /code>
Я в основном пытаюсь избежать установки аргумента классической навигации индивидуально на каждом композиционном маршруте. Я не видел способ передать список аргументов на navigation () 
, как вы можете в composable () .
Это может быть так Я описываю невозможно, но с нетерпением жду чьих -либо мыслей!

Подробнее здесь: https://stackoverflow.com/questions/700 ... ck-compose
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»