user2577907
user2577907

Reputation:

How can i get android toolbar menu group

In some pages of stackoverflow said that you can get menu goup with menu.findItem(R.id.groupId) but always return null and i want to know how can i get menu group

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto">
     <group android:id="@+id/fdp_m_group_normal">
         <item android:id="@+id/fdp_m_today"
               app:actionLayout="@layout/menu_today"
               app:showAsAction="always|withText"
               android:orderInCategory="100"
               android:title="today"/>
         <item android:id="@+id/fdp_m_tomorrow"
               app:actionLayout="@layout/menu_tomorrow"
               app:showAsAction="always|withText"
               android:orderInCategory="101"
               android:title="tomorrow"/>
         <item android:id="@+id/fdp_m_after"
               app:actionLayout="@layout/menu_after"
               app:showAsAction="always|withText"
               android:orderInCategory="102"
               android:title="after"/>
     </group>
     <group android:id="@+id/fdp_m_group_range">
         <item android:id="@+id/fdp_m_plus1"
               app:actionLayout="@layout/menu_plus1"
               app:showAsAction="always|withText"
               android:orderInCategory="103"
               android:title="+1"/>
         <item android:id="@+id/fdp_m_plus2"
               app:actionLayout="@layout/menu_plus2"
               app:showAsAction="always|withText"
               android:orderInCategory="104"
               android:title="+2"/>
         <item android:id="@+id/fdp_m_plus3"
               app:actionLayout="@layout/menu_plus3"
               app:showAsAction="always|withText"
               android:orderInCategory="105"
               android:title="+3"/>
    </group>
 </menu>

and my java code for accessing menu

    @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        inflater.inflate(R.menu.fdp_menu, menu);

        // Below line always return null
        MenuItem mGroupOne = menu.findItem(R.id.fdp_m_group_normal);


        super.onCreateOptionsMenu(menu, inflater);
    }

Upvotes: 1

Views: 1085

Answers (2)

tamim
tamim

Reputation: 31

Getting group using findItem does return null. I am assuming you only need it for visibility. Try using menu.setGroupVisible(R.id,false);

Upvotes: 3

Luke Needham
Luke Needham

Reputation: 3989

menu.findItem will return null if there is no item in 'menu' with the id.

So first of all check that 'menu' is the right menu to be looking in, and then check in menu.xml that you have declared an item with the correct id.

Upvotes: 0

Related Questions