在我的NavigationView
中,我将大多数项目分为带有子标题的部分。我通过在menu
内加item
来实现这一目标:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/drawer_top"
android:title="@string/top"/>
<item
android:id="@+id/drawer_header"
android:title="@string/header1">
<menu>
<item
android:id="@+id/drawer_item1"
android:title="@string/item1"/>
<item
android:id="@+id/drawer_item2"
android:title="@string/item2"/>
</menu>
</item>
</group>
</menu>
但是,这会导致第一项drawer_top
被永久检查。其他项目无法检查。我的onNavigationItemSelected
- 代码如下所示:
@Override
public boolean onNavigationItemSelected(final MenuItem menuItem) {
menuItem.setChecked(true);
... (navigate)
return true;
}
答案 0 :(得分:0)
似乎子菜单无法检查by design。
这是workaround:
mNavigationView.getMenu().clear();
mNavigationView.inflateMenu(R.menu.menu_drawer);
mNavigationView.getMenu().findItem(mNavItemId).setChecked(true);