在每个选项卡中更改ActionBar图标

时间:2014-02-01 10:45:36

标签: android android-fragments icons android-actionbar android-tabs

我想问一下,如果有某种方法,如何在不同标签中的ActionBar 中设置不同的菜单图标 。例如,如果用户位于第一个标签中,则ActionBar会显示搜索图标,如果用户位于第一个标签中,则会显示刷新图标。

有什么方法,怎么做? (我正在使用ActionBar Fragment Navigaton Tabs

感谢您的任何建议

1 个答案:

答案 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();
        }

    }