I'm looking for a way to set the visibility of a MenuItem
inflated in my MainActivity depending on which Fragment
I am on.
For information: I'm using actionBarSherlock
, zxing
, and some google services
.
The application was built with a Navigation drawer(With abs), also I manipulate the FragmentStack
in such way I everytime I switch to another Fragment when I press the touch back I come back in my Main Fragment
.
Here my menu:
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/button_generator" android:title="GENERER" android:icon="@drawable/ic_drawer"></item>
</menu>
Here is where I inflate the menu:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
Log.d(TAG, "================= onCreateOptionsMenu ================= fragSt: " + fragmentStatus);
this.getSherlock().getMenuInflater().inflate(R.menu.main, menu);
mGenQrFromContacts = menu.findItem(R.id.button_generator);
return true;
}
I've tried the solution purposed here, but ain't work in my case.
You should try this in your
Fragment
:And this, in your
Activity
:Hope this helps.
when you want to change fragment you will need to set a flag indicating what menu you want inflated then all you have to do is call
invalidateOptionsMenu()
in your activity to callonCreateOptonsMenu
again and using your flag you set you inflate a different menuI found a trick, you might wanna try this.