【发布时间】:2020-07-29 20:51:09
【问题描述】:
我在我的应用程序中使用带有 NavigationDrawer 的喷气背包导航。
<group
android:id="@+id/nav_menu">
<item
android:id="@+id/reportsFragment"
android:title="@string/trip_reports"
android:icon="@drawable/ic_nav_reports"/>
<item
android:id="@+id/messagesFragment"
android:title="@string/messages"
android:icon="@drawable/ic_nav_chat"/>
<item
android:id="@+id/navItemLogout"
android:title="@string/log_out"
android:icon="@drawable/ic_nav_logout"/>
</group>
在 Activity/onCreate 中
navigationView.setupWithNavController(navController)
NavigationUI.setupWithNavController(bottomNavView, navController)
所有连接到片段的菜单项,除了一个。 navItemLogout 有具体的行动而不是方向。
添加监听器,
navigationView.setNavigationItemSelectedListener {
if (it.itemId==R.id.navItemLogout){
mainActivityViewModel.repository.logout()
}
true
}
似乎覆盖了之前的设置。那么解决我的情况的唯一方法是使用setNavigationItemSelectedListener 进行所有抽屉项目交互吗?还是可以通过 navController setup 解决这个问题?
【问题讨论】:
标签: android navigation-drawer android-jetpack android-architecture-navigation android-jetpack-navigation