Почему программно проверенный пункт меню NavigationView остается отмеченным после нажатия другого элемента?
Вот файл меню foo_menu.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/debug"
android:icon="@drawable/ic_action_digital_ptz"
android:title="Debug">
<menu>
<group android:id="@+id/test" android:checkableBehavior="single">
<item
android:id="@+id/item1"
android:title="item1"/>
<item
android:id="@+id/item2"
android:title="item2"/>
</group>
</menu>
</item>
<!--Many other items-->
...
</menu>
Вот файл макета
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<data>
</data>
<DrawerLayout
android:id="@+id/rootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/linearLayoutRoot"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:baselineAligned="false"
android:orientation="vertical">
</FrameLayout>
<android.support.design.widget.NavigationView
android:id="@+id/navigationView"
app:menu="@menu/foo_menu"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end""/>
</DrawerLayout>
</layout>
Следующая строка в кодовом наборе item2 изначально проверена (только изначально после создания операции)
menu.findItem(R.id.item2).setChecked(true);
Изначально меню выглядит следующим образом:
Тем не менее, после нажатия на item1 это выглядит следующим образом:
Вы можете видеть, что оба пункта проверены. Я ожидал, что можно ожидать только одного, потому что android:checkableBehavior="single". Если item2 изначально не проверяется кодом, все будет так, как ожидалось - только один элемент проверяется в любое время. Есть ли способ сделать так, чтобы в подменю всегда был отмечен только один пункт?