Ошибка «Несоответствие типов: предполагаемый тип ... но ожидался TypeVariable (T)», реализующий безопасность типа навигаAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка «Несоответствие типов: предполагаемый тип ... но ожидался TypeVariable (T)», реализующий безопасность типа навига

Сообщение Anonymous »

Согласно этому сообщению, начиная с версии 2.8.0-alpha08 навигации, в навигации можно использовать объекты.
Я пытаюсь реализовать это, потому что мне нужно пройти экземпляры объекта с именем 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
Я использую стиль навигации, показанный в приложении Now In Android.

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

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

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

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

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

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

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