【发布时间】:2021-11-03 19:00:38
【问题描述】:
我有一个有趣且令人困惑的问题。
我有一个Drawer Layout,它从Bottom Navigation 打开,就像照片中一样
为了让Drawer Layout从Bottom Navigation打开,我使用了这个代码:
bottomNavigationView.setOnItemSelectedListener { item ->
when (item.itemId) {
R.id.itemDrawer -> {
drawerLayout.openDrawer(GravityCompat.END)
return@setOnItemSelectedListener false
}
R.id.homeFragment -> navController.navigate(R.id.homeFragment)
R.id.booksFragment -> navController.navigate(R.id.booksFragment)
R.id.grammarFragment -> navController.navigate(R.id.grammarFragment)
R.id.translatorFragment -> navController.navigate(R.id.translatorFragment)
}
true
}
这就是我的问题
在我看来,当我覆盖底部导航的侦听器时,onBackPressed 的默认行为会变得混乱。
我的意思是,当我点击Home,然后点击另一个元素,然后再次点击Home,等等多次,然后我停留在Home Fragment 并点击onBackPressed,而不是离开app,我回到之前的fragment
我认为这对用户来说是不正常的
我该怎么办?
我想以某种方式覆盖 onBackPressed 为 Home Fragment 但我不明白该怎么做
【问题讨论】:
标签: java android kotlin navigation-drawer bottomnavigationview