我想问一下,如果有某种方法,如何在不同标签中的ActionBar
中设置不同的菜单图标 。例如,如果用户位于第一个标签中,则ActionBar
会显示搜索图标,如果用户位于第一个标签中,则会显示刷新图标。
有什么方法,怎么做? (我正在使用ActionBar Fragment Navigaton Tabs
)
感谢您的任何建议
答案 0 :(得分:3)
在invalidateOptionsMenu()
方法中拨打onTabSelected
,这将回拨onPrepareOptionsMenu
。您可以在onPrepareOptionsMenu
内编写菜单隐藏逻辑,如下所示。
/**
* Called whenever we call invalidateOptionsMenu()
*/
@Override
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
try {
if(tab 1 selected){
menu.findItem(R.id.menu_search).setVisible(true);
menu.findItem(R.id.menu_refresh).setVisible(false);
}
else if(tab 2 selected){
menu.findItem(R.id.menu_search).setVisible(false);
menu.findItem(R.id.menu_refresh).setVisible(true);
}
} catch (Exception e) {
e.printStackTrace();
}
}