gpt4 book ai didi

android - Jetpack Compose 中的导航。按钮点击问题

转载 作者:行者123 更新时间:2023-12-05 02:25:58 25 4
gpt4 key购买 nike

我有一些用 Compose 制作的带有 2 个屏幕的程序。其中一个屏幕有一个按钮,可以将其传输到另一个屏幕。如果我只将此操作放在此按钮的 onClick 方法上,则一切正常。但是,如果我尝试添加其他内容,那应该在更改屏幕之前完成,此导航功能将不再起作用。

这种方式有效:

Button(
onClick = onNavigateToListUser
) {
Text(text = "Add")
}

这种方式不会:

        Button(
onClick = {
if (firstName != "" && lastName != "") {
val user = User(uid = 555, firstName, lastName)
userDao.insert(user)
Log.d("MyDebug", ":" + user.firstName + " " + user.lastName)
}
Log.d("MyDebug", "Hey. Second Line")
onNavigateToListUser
}
) {
Text(text = "Add")
}

什么是 onNavigate...:

composable(route = DatabaseScreens.AddData.name) {
AddDataScreen(
userDao,
onNavigateToListUser = { navController.navigate(DatabaseScreens.UserList.name) }
)
}

如有任何帮助,我们将不胜感激。

最佳答案

如果你定义了函数doSomething: () -> Unit,你可以使用:

   onClick = doSomething
onClick = { doSomething() }

在第二种情况下,您必须使用:

    onClick = {
//if () { /* ... */ }
onNavigateToListUser() //instead of onNavigateToListUser
}

关于android - Jetpack Compose 中的导航。按钮点击问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74151412/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com