Почему программно проверенный пункт меню 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 изначально не проверяется кодом, все будет так, как ожидалось - только один элемент проверяется в любое время. Есть ли способ сделать так, чтобы в подменю всегда был отмечен только один пункт?

0 ответов