如何在其中传递 navController 参数?

发布于 2025-01-14 02:52:28 字数 949 浏览 5 评论 0 原文

我对 jetpack compose kotlin 有点陌生。这是我的登录屏幕函数,它需要 2 个参数:

fun loginScreen(
        navController: NavController,
        onClick: (mobileNum: String, otp: String) -> Unit
    ) {
       //my_code
      }

这是我的 navhost 函数

composable(route = Screen.Loginscreen.route){loginScreen(navController = navController,onClick = {mobileNum, otp ->  })}

这是我调用该函数的地方。我如何在这里传递 navController ? class LoginScreenActivity:ComponentActivity() {

@RequiresApi(Build.VERSION_CODES.M)

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
        Surface(color = MaterialTheme.colors.background) {
            loginScreen {

                mobileNum, otp ->
                if (mobileNum.isNotEmpty()) {
                    send(mobileNum)
                }

            }

//其余代码

如果需要进一步详细说明,请告诉我。TIA

I'm kinda new to jetpack compose kotlin.This is my login screen function which takes 2 parameters:

fun loginScreen(
        navController: NavController,
        onClick: (mobileNum: String, otp: String) -> Unit
    ) {
       //my_code
      }

This is my navhost function

composable(route = Screen.Loginscreen.route){loginScreen(navController = navController,onClick = {mobileNum, otp ->  })}

This is where I call the function. How do I pass the navController here??
class LoginScreenActivity:ComponentActivity() {

@RequiresApi(Build.VERSION_CODES.M)

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContent {
        Surface(color = MaterialTheme.colors.background) {
            loginScreen {

                mobileNum, otp ->
                if (mobileNum.isNotEmpty()) {
                    send(mobileNum)
                }

            }

//rest of the code

Let me know if I need to elaborate further.TIA

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

伏妖词 2025-01-21 02:52:28

要在NavController中传递参数,需要这样传递
findNavController().navigate(directions)

方向还包含 SourceFragmentDirectionToDestionationFragment

To pass the argument in NavController, you need to pass in this way
findNavController().navigate(directions)

Also the direction contains the SourceFragmentDirectionToDestionationFragment

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文