使用 NavController 导航到现有片段

问题描述

我有一个复杂的结构,其中多个 Fragments 相互链接,因此使用 NavController 我试图避免在 {{1} 中创建相同 Fragment 的多个重复项}}。

我找到了这篇文章 How to check Navigation Destination is in the NavController back stack or not?,我已经实现了如下:

BackStack

所以我在 private fun onSiteItemClicked(item: SiteObject) { Log.d(TAG,"onItemClicked() - ${item.siteReference}") item.siteID.let { businessviewmodel.updateCurrentSiteVMLiveData(it) try { val backStackEntry : NavBackStackEntry = navController.getBackStackEntry(R.id.siteFragment) maketoast("backStackEntry = ${backStackEntry.destination.label.toString()}") // Navigate to existing Fragment!! HOW TO DO? } catch (ex: IllegalArgumentException) { navController.navigate(R.id.action_contactFragment_to_siteFragment) // Creates new Fragment as one doesn't existing in backstack. THIS WORKS! } } } 中有对 Fragment 的引用,但我看不到如何导航到它..

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)