我正在使用带有 BottomNavigationView 的 Android 导航 Jetpack 库。我已经实现了 NavHost、NavGraph 和我的片段。当我使用操作进行导航时,一切都按预期工作。
我使用以下代码来设置所有内容:
我使用以下代码来设置所有内容:
val navController = Navigation.findNavController(this, R.id.nav_host)
bottom_navigation.setupWithNavController(navController)
问题在于,如果我点击一个选项卡两次,片段就会被创建两次。有没有办法拦截导航?我不想导航到已经显示的相同片段。
bottom_navigation.setupWithNavController(navController)
的目的。我错过了什么吗? - Nacho Ramos SáncheznavController.popBackStack(it.itemId, false)
返回该选项卡的第一个屏幕),那么您应该将该逻辑放在重新选择侦听器中,而不是什么都不做。 - ianhanniballakesetOnNavigationItemReselectedListener{ navController.popBackStack(it.itemId, false) }
后,在从 A 导航到 B 并通过按底部选项卡返回到 A 时,片段会被重新创建。因为在这种情况下setOnNavigationItemReselectedListener
没有被触发。你们能帮我吗? - JonasPTFL