Tuesday, 20 August 2013

Android: actionbarsherlock -unable to hide /change actionbar items

Android: actionbarsherlock -unable to hide /change actionbar items

In my app i am using actionbar sherlock , i have a set of menu items , for
each tab the menu items are different, but i am unable to change/hide the
menuitems when i change the tab , code is as below.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
THIS = this;
initActionBar();
initViewPager();
addTabs();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
_menuInstance = menu;
com.actionbarsherlock.view.MenuInflater inflater =
getSupportMenuInflater();
inflater.inflate(R.menu.browser_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
}
@Override
public void onTabChanged(int pageIndex, ActionBar.Tab tab, View
tabView) {
resetVisibilityFields();
if (_menuInstance == null) {
hideAllActionItems(_menuInstance);
switch (pageIndex) {
case 0:
showFirstTabActionItems(_menuInstance);
break;
case 1:
showSecondTabActionItems(_menuInstance);
break;
case 2:
showThirdTabActionItems(_menuInstance);
break;
case 3:
showFourthTabActionItems(_menuInstance);
break;
}
}
}
/**
* Sets all tabs action item visibility fields to false.
*/
private void resetVisibilityFields() {
_firstTabShowed = false;
_secondTabShowed = false;
_thirdTabShowed = false;
_fourthTabShowed = false;
}
/**
* Shows First tab action items.
*
* @param menu Action bar menu instance
*/
private void showFirstTabActionItems(Menu menu) {
if (menu != null) {
_menuInstance.findItem(R.id.add_item).setVisible(false);
}
}
/**
* Shows Second tab action items.
*
* @param menu Action bar menu instance
*/
private void showSecondTabActionItems(Menu menu) {
if (menu != null && menu.size() == 3) {
menu.getItem(0).setVisible(true);
_secondTabShowed = true;
}
}
Ant help is appreciated

No comments:

Post a Comment