小编gee*_*eek的帖子

如何在 jetpack compose 中导航到另一个屏幕而不出现此问题?

我在 Jetpack compose 中导航到另一个屏幕时遇到问题。我已经设置好所有内容,并仔细检查了所有内容,但是,当我按下按钮时,它应该会带到另一个屏幕。我在 logcat 中得到了一些调试信息,这表明导航确实出了问题,并且什么也不会发生。当我试图找出问题时,我发现应该代表第二个屏幕的函数被成功调用,并且当我使用函数 Log.d("Second screen") 时,它将成功地打印在日志猫中。尽管如此,任何内容都不会出现,之前的内容也不会消失。我试着用谷歌搜索它,还询问了聊天gpt,但我没有找到任何东西,聊天gpt只告诉我它应该工作正常,我应该再次检查所有内容。最后,我创建了一个新项目并将代码放入其中,认为可能是某些项目设置导致了问题,但没有任何改变。

这是我的 Main_activity。设置了导航的所有内容以及应该启动它的按钮:

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            ToDoApp2Theme {
                val navController = rememberNavController()
                NavHost(navController = navController, startDestination = Screens.HomeScreen.route) {
                    composable(route = Screens.HomeScreen.route){ Greeting(navController) }
                    composable(route = Screens.AddScreen.route){ Add_screen(navController) }
                }
                Surface(
                    modifier = Modifier.fillMaxSize(),
                    color = MaterialTheme.colorScheme.background
                ) {
                    Greeting(navController)
                }
            }
        }
    }
}

@Composable
fun Greeting(navController: NavController, modifier: Modifier = Modifier) {
    Box(modifier = Modifier
        .width(15.dp)
        .height(20.dp)
        .padding(vertical = 100.dp, …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-jetpack-navigation android-jetpack-compose

3
推荐指数
1
解决办法
2034
查看次数