在父类中添加如下代码
public boolean isOpen = flase;//默认为false
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.news_ds_menu, menu);
return true;//显示出来
}
public void isRightBtnHide() {
isOpen = true;
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {//在这里将菜单隐藏
menu.findItem(R.id.news_share_item).setVisible(isOpen);
return super.onPrepareOptionsMenu(menu);
}
在其他activity中调用时,添加如下代码
isRightBtnOpen();//将其状态设置为true
invalidateOptionsMenu();//重新调用<pre name="code" class="java">onCreateOptionsMenu、<span style="font-family: Arial, Helvetica, sans-serif;">onPrepareOptionsMenu将其显示出来</span>
这样就ok了,
1、原生
mActivity.getWindow().invalidatePanelMenu(Window.FEATURE_OPTIONS_PANEL);
2、ActionBarSherlock
invalidateOptionsMenu();