微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 NavController 导航到现有片段

如何解决使用 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 举报,一经查实,本站将立刻删除。