I have created ActionBar with some number of tabs dynamically like the below code.
public void addTabBar(Context context)
{
sActiveContext=context
try this for handle all menu's for activity, and mange all menu's for fragment transaction on tab change,
private Menu menu=null;
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
this.menu=menu;
// call here as, showMenu(R.drawable.menu_image,2222);
// add all menu's when that needed in your activity like save,cancel,choose color, //close etc.
menuHandler(0);
return true;
}
private void showMenu(int imageIcon,int id)//Where imageIcon is R.drawable.menu_image
{
menu.add(0, id, 0, actionString).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);;
MenuItem item=menu.findItem(id);
item.setIcon(imageIcon);
}
private menuHandler(int position)
{
if(position==0)//For tab 1
{
if(!menu.findItem(1111).isVisible()) //check menu item with id 1111 is visible
menu.findItem(1111).setVisible(true);
if(menu.findItem(2222).isVisible())
menu.findItem(2222).setVisible(false);
}
else if(position==0)
{
if(menu.findItem(1111).isVisible())
menu.findItem(1111).setVisible(false);
if(menu.findItem(2222).isVisible())
menu.findItem(2222).setVisible(false);
}
else
{
if(menu.findItem(3333)
menu.findItem(3333).setVisible(false);
if(!menu.findItem(2222).isVisible())
menu.findItem(2222).setVisible(true);
}
}
@Override
public void onTabReselected(Tab tab, android.app.FragmentTransaction ft)
{}
@Override
public void onTabSelected(Tab tab, android.app.FragmentTransaction ft)
{
menuHandler(tab.getPosition());
}
Try this, In your Activity,
private Menu menu=null;
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
this.menu=menu;
// call here as, showMenu(R.drawable.menu_image,2222);
return true;
}
private void showMenu(int imageIcon,int id)//Where imageIcon is R.drawable.menu_image
{
menu.add(0, id, 0, actionString).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);;
MenuItem item=menu.findItem(id);
item.setIcon(imageIcon);
}