【发布时间】:2018-12-22 12:24:36
【问题描述】:
我正在使用带有导航抽屉的导航组件。
- 我为菜单中的每个导航项添加了片段。
- 在此 Fragment 将被交换的位置添加 NavHostFragment
- 然后添加片段作为目的地
我想要主细节导航,即 开始目的地 -> 片段 2 后退按钮 -> 开始目的地 开始目的地 -> 片段 2 -> 片段 3 -> 片段 4 后退按钮 -> 开始目的地
我的问题是我是否应该在此图中添加任何连接?
-
我还需要一个菜单项,它只是注销函数调用而不是片段交换,所以我无法使用默认设置对其进行配置
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
}
我还需要在带有导航抽屉的主应用程序活动上方(模态)显示登录活动。我可以使用导航图吗?如何使用? 登录活动应该:在返回按钮上 -> 关闭应用程序,如果已注销 -> 从主要活动开始,如果已登录,则转到主要活动
所以我有问题: 1. 我应该使用任何动作吗? 2. 我应该为抽屉或 setupWithNavController() 使用自定义导航吗? 3. 模态登录活动导航呢?
【问题讨论】:
-
我也面临同样的问题。寻找答案!!
标签: android navigation navigation-drawer android-architecture-components