M-Wajeeh
M-Wajeeh

Reputation: 17304

Pragmatically access MenuItem Actionbar Android

I have a menu:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/menu_filter_selection"
    android:icon="@drawable/ic_action_filter"
    android:showAsAction="always"
    android:title="@string/sort">
    <menu>
        <group
            android:id="@+id/group_sort_selection"
            android:checkableBehavior="single"
            android:menuCategory="container" >
            <item
                android:id="@+id/menu_incoming"
                android:title="@string/incoming"/>
            <item
                android:id="@+id/menu_outgoing"
                android:title="@string/outgoing"/>
            <item
                android:id="@+id/menu_combined"
                android:checked="true"
                android:title="@string/combined"/>
        </group>
    </menu>
</item>

</menu>

and I want to access menu_incoming in code via index, not by id, using Menu.getItem(int index) method.

I have tried following code in onPrepareOptionsMenu(Menu menu):

((Menu) menu.findItem(R.id.menu_filter_selection)).
    getItem(0).setChecked(true);

But obviously it is giving exception as menu_filter_selection is not a Menu. Any idea how to access menu_incoming via Menu.getItem(int index) method.

Upvotes: 0

Views: 940

Answers (1)

sandrstar
sandrstar

Reputation: 12643

One possible way is, using MenuItem.getSubMenu():

menu.getItem(0).getSubMenu().getItem(0);

Upvotes: 2

Related Questions