问题描述
我有一个复杂的结构,其中多个 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 (将#修改为@)