好的,当我的应用程序启动时,它有两个选项卡,操作栏中有一个操作,当我切换到第二个选项卡时,我更改了布局,我想删除我在栏中的操作,并添加一个不同的,任何简单的方法来实现这一目标?
答案 0 :(得分:4)
我开始工作了!
您只需向onCreateOptionsMenu添加条件语句,然后在切换选项卡时使菜单无效!希望这有助于某人!
条件:
public boolean onCreateOptionsMenu(Menu menu) {
if (getSupportActionBar().getSelectedNavigationIndex() == 1) {
menu.add("Share")
.setIcon(android.R.drawable.ic_menu_share)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
}
if (getSupportActionBar().getSelectedNavigationIndex() == 0)) {
menu.add("Settings")
.setIcon(android.R.drawable.ic_menu_manage)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
}
return true;
}
并使无效:
invalidateOptionsMenu();
答案 1 :(得分:2)
我假设您的标签在Fragments
内FragmentActivity
。在这种情况下,您应该在标签片段中setHasOptionsMenu(true)
' onCreate()
方法。并覆盖片段的onCreateOptionsMenu
和onOptionsItemSelected
。
其余部分将为您完成(例如在切换标签后使actionItems无效等)