无法通过查看页片段中的导航操作进行导航



我有一个名为ViewPagerFragment的片段,当我在底部导航视图中选择菜单时,它会显示出来。它成为navHostFragment的currentDestination。

viewPagerFragment中,有一个表格布局和一个视图寻呼机。在viewpager的片段中,有一个名为BudgetAndSpentFragment的片段,它具有AddBudgetFragment操作。我通过安全参数将一个值从BudgetAndSpentFragment传递到AddBudgetFragment。当我尝试在BudgetAndSpeentFragment中使用以下代码导航到AddBudget Fragment时

var directions=BudgetAndSpentFragmentDirections.actionBudgetAndSpentFragmentToAddBudgetFragment()
directions.budgetList=simpleGenericAdapterWithBinding.dataSource.toTypedArray()
findNavController().navigate(directions)

应用程序崩溃,并显示以下消息:

java.lang.IollegalArgumentException:导航操作/目的地com.example.hishhab:id/action_budgetAndSpentFragment_to_adBudgetFragment在当前目标中找不到目的地(com.example.hishab:id/viewPagerTabFragment(label=ViewPagerTabFragmentclass=com.example.hishhab.fragments.ViewPagerTabFragment

这是因为ViewPagerFragment是当前目的地,而不是BudgetAndSpentFragment在这种情况下,如何导航到具有值的AddBudgetFragment

请共享您的navigation.xml文件或图形。

但根据错误消息和代码片段,导航图中可能缺少一个操作。您似乎正试图从ViewPagerFragment导航到AddBudgetFragment,而您应该从BudgetAndSpentFragment进行调用。

因此,要解决此问题,请在导航图的ViewPagerFragment片段块中添加操作,或者从BudgetAndSpentFragment而不是ViewPagerFragment进行导航调用(如果需要的话(。

最新更新