Я использую библиотеку поддержки дизайна 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;
}
});
Однако моя проблема заключается в том, что только первые четыре пункта главного меню проверяются правильно, в то время как событие щелчка подменю также работает, но они не проверяются. Вместо этого предыдущее главное меню остается отмеченным.