【问题标题】:Trying to send bundle argument and click to the next fragment尝试发送捆绑参数并单击下一个片段
【发布时间】:2021-03-14 05:26:28
【问题描述】:

我在 Android Studio 上使用 kotlin 进行编码。单击按钮后,我希望能够通过捆绑包从当前片段传递参数到下一个片段,同时导航到下一个片段。

btn.setOnClickListener{
    val args = Bundle()
    args.putString("STRING","string")

    val nextFragment = NextFragment.newInstance()
    nextFragment.arguments = args
    nextFragment.setCallBack(currentFragment)
    currentFragment.onClickForwardNavigation(nextFragment)
}

但是,我遇到了一个问题,因为在 nextFragment 中,我收到了参数,但是每当我尝试按下按钮返回时,什么都没有发生。我注释掉了nextFragment.arguments = args 和 nextFragment 中的后退按钮(但没有传递参数)

【问题讨论】:

    标签: java android kotlin mobile


    【解决方案1】:

    使用导航组件,这就是你必须编写的:

     val bundle = bundleOf(
                        "title" to "name")
    
                    navController!!.navigate(
                        R.id.action_Fragment1_to_Fragment2,
                        bundle
                    )
    

    【讨论】:

      【解决方案2】:

      您可以使用名为 Navigation graph 的 android Jetpack 库,它可以处理诸如在片段和类似内容之间传递数据等问题,以及您可以搜索的其他功能

      最初,您需要创建一个导航图,其中包含根据您的应用程序逻辑连接图的所有片段。

      为了在片段之间传递数据,您需要在导航操作中创建一个参数,然后您可以从那里轻松发送/接收数据,

      有关更多信息和详细步骤,请参阅链接。

      导航图:https://www.youtube.com/watch?v=DI0NIk-7cz8

      导航安全参数:https://www.youtube.com/watch?v=vx1-V3HH0IU

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-02
        相关资源
        最近更新 更多