Reputation: 17304
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
Reputation: 12643
One possible way is, using MenuItem.getSubMenu():
menu.getItem(0).getSubMenu().getItem(0);
Upvotes: 2