Jetpack Compose Navigation — добавление пользовательского NavType приводит к немедленному возврату в startDestination.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Jetpack Compose Navigation — добавление пользовательского NavType приводит к немедленному возврату в startDestination.

Сообщение Anonymous »

У меня возникла странная проблема при использовании Jetpack Navigation for Compose при использовании пользовательского NavType. Библиотека обновлена ​​до версии 2.8.4, мой код основан на этом руководстве:
https://medium.com/mercadona-tech/type- ... c03e3d74a5
У меня 3 экрана:

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

@Serializable
object Home

@Serializable
object ChildA

@Serializable
data class ChildB(val customClass: CustomClass)

@Composable
fun TypeSafetyNavigation(modifier: Modifier = Modifier) {
val navController = rememberNavController()

NavHost(navController, startDestination = HomeScreen) {
composable {
HomeScreen(
modifier = modifier,
onNavChildAClick = { navController.navigate(ChildA) },
onNavChildBClick = { navController.navigate(ChildB) },
)
}

composable {
ChildAScreen(
modifier = modifier,
)
}

composable(
typeMap = mapOf(typeOf() to serializableType())
) { backStackEntry ->
val bookDetail = backStackEntry.toRoute()

ChildBScreen(
modifier = modifier,
customClass = customClass,
)
}
}
}
Все работает, когда я перехожу к ChildB, но когда я пытаюсь перейти к ChildA, он немедленно возвращается в Home, что подтверждается добавлением navController.addOnDestinationChangedListener с операторами журнала. Я установил точки останова в классе NavController, и методы NavigationUp() и popBackStack() не вызываются.
Что происходит? здесь?

Подробнее здесь: https://stackoverflow.com/questions/791 ... e-return-t
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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