Jetpack Compose App Navigation не перенаправляет на другую страницу?
@Composable
fun MainLayout(viewModel: GoalsViewModel){
val navController = rememberNavController()
NavHost(
navController = navController,
startDestination = "Home",
modifier = Modifier.padding(16.dp)
) {
composable("Home"){
BodyContent(navController)
}
composable("Goals"){
GoalScreen(viewModel, navController)
}
composable("ViewGoals"){
ViewGoalsScreen(viewModel)
}
composable("Fitness"){
FitnessForm()
}
}
Scaffold(
topBar = {
TopNavBar()
}
){
BodyContent(navController)
}
}
Почему кнопка на моей домашней странице ничего не делает? Он будет печатать из компонуемой функции, которую она вызывает, но не будет перенаправлять или делать что-либо
1 ответ
Вам нужно переместить ваш NavHost в тело вашего скаффолда:
@Composable
fun MainLayout(viewModel: GoalsViewModel){
val navController = rememberNavController()
Scaffold(
topBar = {
TopNavBar()
}
){
NavHost(
navController = navController,
startDestination = "Home",
modifier = Modifier.padding(16.dp)
) {
composable("Home"){
BodyContent(navController)
}
composable("Goals"){
GoalScreen(viewModel, navController)
}
composable("ViewGoals"){
ViewGoalsScreen(viewModel)
}
composable("Fitness"){
FitnessForm()
}
}
}
}