无法从当前目的地 Destination(creditFragment) 找到导航 action/destination /action_creditTabFragment_to_needHelpFragment

Navigation action/destination /action_creditTabFragment_to_needHelpFragment cannot be found from the current destination Destination(creditFragment)

我的应用程序使用导航组件,我有 CreditFragment,它使用 TabLayoutViewPager2,它包含 CreditTabFragment,当我在 CreditTabFragment 我想使用 findNavController().

导航到 NeedHelpFragment

如何让导航控制器知道我在 creditTabFragment

我尝试创建 childFragmentManager 但没有成功

ClickListener of the button that navigates to NeedHelpFragment

Sweta Jain showed this error, I couldn't add Navigation.findNavController().navigate(action) from the Answer

您可以尝试这样做:

import androidx.navigation.Navigation

    buttonNeedHelp.setOnClickListener {it: View!
     val action =
             CreditTabFragmentDirections.actionCreditTabFragmentToNeedHelpFragment(args) // add args in the bracket, as needed
            Navigation.findNavController(it)
                .navigate(action)
    Navigation.findNavController().navigate(action)
    }

或者,如果您没有参数,请尝试使用导航图中的操作 ID,

buttonNeedHelp.setOnClickListener {it: View!
        Navigation.findNavController(it)
         .navigate(R.id.action_creditTabFragment_to_needHelpFragment)
}

我在设置视图寻呼机适配器时使用了子片段管理器: viewPager.adapter = SectionsPageAdapter(childFragmentManager, lifecycle) 有了这个你就可以使用导航了,注意:导航必须在父片段中,而不是在选项卡布局中。