Change the background color of the drawer elements when pressed

3

In the % activity_main_drawer.xml I define the elements of Navigation Drawer and separate them into 3 blocks as shown in the image shown at the end of the post.

When selecting a elemento of the first block (Start, Notices, Installations, Favorites), the color background of this one turns gray (Correct), but if you select some elemento of the second (Location, Activities, Schedule) or of the third block (Language), do not change the background color of the element.

activity_main_drawer.xml

<?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/nav_hasiera"
            android:title="@string/nav_hasiera" />
        <item
            android:id="@+id/nav_oharrak"
            android:title="@string/nav_oharrak" />
        <item
            android:id="@+id/nav_instalazioak"
            android:title="@string/nav_instalazioak" />
        <item
            android:id="@+id/nav_gustokoak"
            android:title="@string/nav_gustokoak" />
    </group>
    <item android:title="@string/filtrar_por">
        <menu>
            <item
                android:id="@+id/nav_lokalizazioa"
                android:title="@string/nav_lokalizazio" />
            <item
                android:id="@+id/nav_ekintzak"
                android:title="@string/nav_ekintzak" />
            <item
                android:id="@+id/nav_ordutegia"
                android:title="@string/nav_ordutegia" />
        </menu>
    </item>
    <item android:title="@string/opciones">
        <menu>
            <item
                android:id="@+id/nav_hizkuntza"
                android:title="@string/nav_hizkuntza" />
        </menu>
    </item>
</menu>

Capture after clicking on item Instalaciones

    
asked by aldakur 06.07.2016 в 11:01
source

2 answers

5

The solution is to add android:checkable="true" to the items in the second and third group.

Here's the complete code:

<?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/nav_hasiera"
            android:title="@string/nav_hasiera" />
        <item
            android:id="@+id/nav_oharrak"
            android:title="@string/nav_oharrak" />
        <item
            android:id="@+id/nav_instalazioak"

            android:title="@string/nav_instalazioak" />

        <item
            android:id="@+id/nav_gustokoak"
            android:title="@string/nav_gustokoak" />

    </group>

    <item android:title="@string/filtrar_por">
        <menu>
            <item
                android:id="@+id/nav_lokalizazioa"
                android:title="@string/nav_lokalizazio"
                android:checkable="true"/>
            <item
                android:id="@+id/nav_ekintzak"
                android:title="@string/nav_ekintzak"
                android:checkable="true"/>
            <item
                android:id="@+id/nav_ordutegia"
                android:title="@string/nav_ordutegia"
                android:checkable="true"/>
        </menu>
    </item>

    <item android:title="@string/opciones">
        <menu>

            <item
                android:id="@+id/nav_hizkuntza"
                android:title="@string/nav_hizkuntza"
                android:checkable="true"/>
        </menu>
    </item>


</menu>
    
answered by 06.07.2016 / 13:24
source
1

It is correct, with the android:checkable="true" you can solve this problem, I leave some references for this type of characteristics within the tag.

link

    
answered by 26.10.2016 в 14:10