2

好的,当我的应用程序启动时,它有两个选项卡,操作栏中有一个操作,当我切换到第二个选项卡时,我更改了布局,我想删除我在栏中的操作,并添加一个不同的操作,有什么简单的方法可以做到这一点?

4

2 回答 2

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();
于 2012-06-23T05:42:06.957 回答
2

我认为您的标签FragmentsFragmentActivity. 在这种情况下,您应该setHasOptionsMenu(true)在选项卡片段的onCreate()方法中。并覆盖onCreateOptionsMenuonOptionsItemSelected片段。

其余的将为您完成(例如在切换选项卡后使 actionItems 无效等)

于 2012-08-27T22:21:54.647 回答