我正在使用带有 BottomNavigationView 的 Android 导航喷气包库。我已经实现了 NavHost、NavGraph 和我的 fragment 。当我使用操作进行导航时,一切都按预期工作。
我使用以下代码来设置所有内容:
val navController = Navigation.findNavController(this, R.id.nav_host)
bottom_navigation.setupWithNavController(navController)
问题是,如果我点击一个选项卡 2 次, fragment 会重新创建两次。有什么办法可以拦截导航吗?我不想导航到正在显示的同一 fragment 。
最佳答案
根据 this issue ,
Feel free to set a OnNavigationItemReselectedListener, which takes precedence over the
OnNavigationItemSelectedListener
set by NavigationUI.
val navController = Navigation.findNavController(this, R.id.nav_host)
bottom_navigation.setupWithNavController(navController)
bottom_navigation.setOnNavigationItemReselectedListener {
// Do nothing to ignore the reselection
}
关于android - 防止导航到同一个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58210468/