我正在使用 android 设计支持库来创建抽屉布局。
在我NavigationView
的菜单组中,包含子菜单。
这是我的菜单文件。
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_home"
android:icon="@drawable/ic_dashboard"
android:title="Home" />
<item
android:id="@+id/nav_messages"
android:icon="@drawable/ic_event"
android:title="Messages" />
<item
android:id="@+id/nav_friends"
android:icon="@drawable/ic_headset"
android:title="Friends" />
<item
android:id="@+id/nav_discussion"
android:icon="@drawable/ic_forum"
android:title="Discussion" />
<item android:title="Sub Menus">
<menu>
<item
android:id="@+id/sub_one"
android:icon="@drawable/ic_dashboard"
android:title="Sub item 1" />
<item
android:id="@+id/sub_two"
android:icon="@drawable/ic_forum"
android:title="Sub item 2" />
</menu>
</item>
</group>
我的项目点击监听器
navigationView.setNavigationItemSelectedListener(
new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
Log.d("Item Click : ", menuItem.getTitle().toString());
menuItem.setChecked(true);
mDrawerLayout.closeDrawers();
return true;
}
});
但是我的问题是只有前四个主菜单项得到正确检查,而子菜单点击事件也有效,但没有得到检查。相反,以前的主菜单保持选中状态。