无法使用 Jetpack 导航导航到片段?

Could not navigate to fragment using jetpack navigation?

我想从 HomeFragment 导航到 DetailFragment 在 RecyclerView 项目中单击我正在调用 DetailFragment 和 它不工作,我看到它进入了 onClickListener 但它没有走得更远,也没有调用 DetailFragment

viewBinding.assetImage.setOnClickListener {
        val bundle = bundleOf("owner" to "TestUser")
        Navigation.createNavigateOnClickListener(R.id.detail_screen,bundle)
      }

<fragment
    android:id="@+id/home_screen"
    android:name="HomeFragment"
    android:label="@string/title_home"
    tools:layout="@layout/fragment_home">
    <action
        android:id="@+id/action_home_screen_to_detailFragment"
        app:destination="@id/detail_screen" />
</fragment>
<fragment
    android:id="@+id/detail_screen"
    android:name="DetailFragment"
    android:label="DetailFragment"
    tools:layout="@layout/fragment_detail">
    <argument
        android:name="owner"
        app:argType="string" />
</fragment>

下面是适合您的解决方案,

   val bundle = Bundle()
   bundle.putString("owner", "TestUser")
   if (it.findNavController().currentDestination?.id == R.id.home_screen) {
              it.findNavController().navigate(R.id.action_home_screen_to_detailFragment, bundle)
   }

您可以使用safeArgs 来传递数据。 This可以帮到你

  1. 你去你的导航xml文件
  2. Select 传递值的片段。
  3. 添加属性

  1. 构建 → 重建

  2. 然后就可以这样使用了 findNavController().navigate(MenuFragmentDirections.Action_menuFragment_to_servisFragment(param))