Question: I am using a NavigationView for my drawer. This is the menus.xml file which defines all the menu items for the drawer:

```
<?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/item_1"
            android:title="Item 1"
            android:checked="true" />
        <item
            android:id="@+id/item_2"
            android:title="Item 2" />
        <item
            android:id="@+id/item_3"
            android:title="Item 3" />
        <item
            android:id="@+id/item_4"
            android:title="Item 4" />
        <item android:title="List 1">
            <menu>
                <item
                    android:id="@+id/subitem_1"
                    android:title="SubItem 1" />
                <item
                    android:id="@+id/subitem_2"
                    android:title="SubItem 2" />
            </menu>
        </item>
        <item android:title="List 2">
            <menu>
                <item
                    android:id="@+id/subitem_3"
                    android:title="SubItem 3" />
                <item
                    android:id="@+id/subitem_4"
                    android:title="SubItem 4" />
            </menu>
        </item>
    </group>
</menu>

```

Thing is when I call setChecked(true) on the sub menu items it doesn't get highlighted.

So if I force the attribute android:checkable="true" on the sub-menu items, it takes two clicks to have it highlighted. Also, as you can see Item 1 is highlighted and the checkableBehaviour is set to single. In this case, the sub menu and the first item remain highlighted. Why is the sub menu not getting highlighted on running setChecked(true)?

Answer: 
For submenu should be added the group with `android:checkableBehavior="single"`

Your xml should be something like this:

```
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
    <item
        android:id="@+id/item_1"
        android:checked="true"
        android:title="Item 1" />
    <item
        android:id="@+id/item_2"
        android:title="Item 2" />
    <item
        android:id="@+id/item_3"
        android:title="Item 3" />
    <item
        android:id="@+id/item_4"
        android:title="Item 4" />
    <item android:title="List 1">
        <menu>
            <group android:checkableBehavior="single">
                <item
                    android:id="@+id/subitem_1"
                    android:title="SubItem 1" />
                <item
                    android:id="@+id/subitem_2"
                    android:title="SubItem 2" />
            </group>
        </menu>
    </item>
    <item android:title="List 2">
        <menu>
            <group android:checkableBehavior="single">
                <item
                    android:id="@+id/subitem_3"
                    android:title="SubItem 3" />
                <item
                    android:id="@+id/subitem_4"
                    android:title="SubItem 4" />
            </group>
        </menu>
    </item>
</group>

```
Maybe try doing it programmatially. Add this method if you have it already. The key part is the "menu.findItem(R.id.item\_1).setChecked(true);" 

```
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
    super.onPrepareOptionsMenu(menu);
    menu.findItem(R.id.item_1).setChecked(true);
    return true;
}

```