Можете ли вы передать NavHostController дочернему элементу Composable, чтобы разрешить доступ к navController.navigate("Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Можете ли вы передать NavHostController дочернему элементу Composable, чтобы разрешить доступ к navController.navigate("

Сообщение Anonymous »

Я новичок в Jetpack Compose и пытаюсь понять, как интегрировать библиотеку навигации с Compose.
Я успешно реализовал нижнюю навигацию, но сейчас пытаюсь получить доступ к методу .navigate("route"). в дочернем компоненте. Должен ли я передавать navController в качестве параметра из составного элемента внутри NavHost? Вот мой код, чтобы сделать ситуацию более понятной.
Вот мой HomeScreen.kt @Composable, который вызывает метод RememberNavController(), а также компонуемый NavHost() следующим образом...< /p>

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

@Composable
fun HomeScreen() {
val navController = rememberNavController()
...
Scaffold(
...
) {
NavHost(navController, startDestination = "route") {
composable("route") { Settings(navController) }
}
}
Здесь вы можете видеть, что я передаю navController в качестве параметра в составные настройки. Я не уверен, правильно ли это. Теперь, в конечном счете, из составных настроек я хотел бы получить доступ к методу navController.navigate("route"), если это возможно, аналогично следующему.

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

@Composable
fun Settings(navController: NavHostController) {
...
Button(onClick = {navController.navigate("route")}) {
Text(text = "button text")
}
...
}
К сожалению, я не могу получить доступ к методу .navigate, поскольку он говорит: «Ни одна из следующих функций не может быть вызвана с предоставленными аргументами». Спасибо за время и помощь!!

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

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

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

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

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

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

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