我正在使用带有导航抽屉的导航组件。
- I have added Fragments for each Navigation item in the menu.
- Add NavHostFragment where this Fragment will be swapped
- Then added Fragments as Destinations
I want master Detail Navigation i.e. start destination -> fragment 2 back button -> start destination start destination -> fragment 2 -> fragment 3 -> fragment 4 back button -> start destination
My question is whether I should add any connections to this graph?
I also need to have one menu item which is just logout function call not fragment swapping, so I could not configure it with default setup
val navController = findNavController(R.id.main_nav_host_fragment) nav_view.setupWithNavController(navController)
但是我们必须使用
nav_view.setNavigationItemSelectedListener(this)
override fun onNavigationItemSelected(item: MenuItem): Boolean {
// Handle navigation view item clicks here.
when (item.itemId) {
R.id.navSignOut -> {
loginViewModel.logout()
}
else -> {
val navController = findNavController(R.id.main_nav_host_fragment)
navController.navigate(item.itemId)
}
}
drawer_layout.closeDrawer(GravityCompat.END)
return true
}
我需要在主应用程序活动的导航抽屉上方(模态)显示登录活动。我可以使用Navigation Graph吗?如果可以,该如何操作? 登录活动应具有以下功能:按返回按钮->关闭应用程序;如果已注销->启动主活动的上方;如果已登录,则转到主活动。 所以我有几个问题: 1. 我是否需要使用任何操作? 2. 我是否需要为抽屉使用自定义导航或setupWithNavController()? 3. 模态登录活动导航怎么处理?