📌  相关文章
📜  如何使用 findnavcontroller().navigate 发送数据 (1)

📅  最后修改于: 2023-12-03 15:38:00.432000             🧑  作者: Mango

如何使用 findNavController().navigate 发送数据

在 Android 应用程序中, findNavController().navigate 方法是跳转到其他界面的常用方法。但有时在跳转时,需要向目标界面发送一些数据。这就需要使用 Bundle 参数来传递数据。

以下是如何使用 findNavController().navigate 发送数据的具体步骤:

  1. 在源界面 (SourceFragment) 中创建一个 Bundle 对象并将数据添加到其中:

    val data = "Hello, World!"
    val bundle = Bundle()
    bundle.putString("key", data)
    
  2. 调用 findNavController() 获取 NavController 对象,然后调用 navigate() 方法。

    view.findNavController().navigate(R.id.destinationFragment, bundle)
    

    这里的第一个参数是目标界面(destinationFragment)的 ID,第二个参数是 Bundle 对象。

  3. 在目标界面 (DestinationFragment) 中使用以下代码获取传递的数据:

    val bundle: Bundle? = arguments
    val data = bundle?.getString("key")
    

    这里的 arguments 是从 Android 系统自动为您创建的 Fragment 对象中获取的 Bundle

通过以上步骤,您现在已经了解了如何使用 findNavController().navigate 发送数据了。记得始终检查 Bundle 对象是否为 null,否则可能会发生 NullPointerException