Это мой навигационный график < /p>
NavHost(navController, startDestination = Splash) {
composable { SplashScreen(navController) }
navigation(startDestination = Editor) {
composable { navBackStackEntry->
val data= navBackStackEntry.toRoute() // right way crash app
val path = navBackStackEntry.arguments?.getString("path") // workaround works fine
....
}
< /code>
сериализованные объекты: < /p>
@Serializable
object Splash
@Serializable
data class Home(val path: String)
@Serializable
object Editor
< /code>
Проблема: < /p>
При навигации с экрана Splash to Home с использованием NavController.navigate (route = home («Мой путь»)), я не могу получить доступ к аргументу пути в композиционном редакторе. Не пункт назначения навигации в первую очередь (это дом, который есть), поэтому невозможно напрямую извлекать аргументы от редактора, даже если аргумент пути доступен в пакете. Пока я могу получить к нему доступ через Navbackstackentry.arguments? .GetString («Путь»), мне интересно, есть ли более надежное решение.>
Подробнее здесь: https://stackoverflow.com/questions/794 ... ith-typesa