Я пытаюсь реализовать это, потому что мне нужно пройти экземпляры объекта с именем ItemUI вместо передачи простого значения, но у меня это не работает.
Вот что я пробовал:
Код: Выделить всё
ForYouNavigation
Код: Выделить всё
fun NavController.navigateToForYou(navOptions: NavOptions) = navigate(FOR_YOU_ROUTE, navOptions)
@ExperimentalMaterial3AdaptiveApi
fun NavGraphBuilder.forYouScreen(onTopicClick: (ItemUI) -> Unit) {
composable(
route = FOR_YOU_ROUTE,
) {
ForYouRoute(onTopicClick = onTopicClick)
}
}
Код: Выделить всё
NiaNavHost
Код: Выделить всё
@Composable
fun NiaNavHost(
appState: NiaAppState,
onShowSnackbar: suspend (String, String?) -> Boolean,
modifier: Modifier = Modifier,
startDestination: String = FOR_YOU_ROUTE,
onReaderClick: () -> Unit
) {
val navController = appState.navController
NavHost(
navController = navController,
startDestination = startDestination,
modifier = modifier,
) {
forYouScreen(onTopicClick = navController::navigateToTodays)
// ...
}
Код: Выделить всё
navigateToTodays
Код: Выделить всё
fun NavController.navigateToTodays(topicId: ItemUI? = null, navOptions: NavOptions? = null) {
navigate(topicId, navOptions)
}
Код: Выделить всё
navigate(topicId, navOptions)
Код: Выделить всё
Type mismatch: inferred type is ItemUI? but TypeVariable(T) was expected
Подробнее здесь: https://stackoverflow.com/questions/789 ... pected-imp