Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionbarsherlock 无法隐藏选项卡上的菜单项已更改_Actionbarsherlock_Android Menu - Fatal编程技术网

Actionbarsherlock 无法隐藏选项卡上的菜单项已更改

Actionbarsherlock 无法隐藏选项卡上的菜单项已更改,actionbarsherlock,android-menu,Actionbarsherlock,Android Menu,在我的应用程序中,我使用actionbarsherlock有3个菜单项和4个选项卡,最初我显示所有菜单项,当我更改选项卡时,2个菜单项应该隐藏,但不知何故它不起作用。下面是我的代码 final static int action_refresh = 0; final static int facebook = 1; final static int twitter = 2; final static int in = 3; @Override publi

在我的应用程序中,我使用actionbarsherlock有3个菜单项和4个选项卡,最初我显示所有菜单项,当我更改选项卡时,2个菜单项应该隐藏,但不知何故它不起作用。下面是我的代码

final static int action_refresh = 0;
    final static int facebook = 1;
    final static int twitter = 2;
    final static int in = 3;

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
       _menuInstance = menu;
        menu.add(1, facebook, 1, "facebook").setIcon(R.drawable.facebook).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
        menu.add(1, twitter, 2, "twitter").setIcon(R.drawable.twitter).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
        menu.add(1, in, 3, "in Disk").setIcon(R.drawable.in).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);

        return true;


    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle item selection
        switch (item.getItemId()) {

        case facebook:
             Toast.makeText(this, "Connect on facebook", Toast.LENGTH_SHORT).show();

            return true;
        case twitter:
         Toast.makeText(this, "Connect on twitter", Toast.LENGTH_SHORT).show();

           return true;
        case in:
             Toast.makeText(this, "Connect on Linkedin", Toast.LENGTH_SHORT).show();

              return true;

        default:
            return super.onOptionsItemSelected(item);
        }
    }
    @Override
    public void onTabChanged(int pageIndex, ActionBar.Tab tab, View tabView) {
        resetVisibilityFields();
        if (_menuInstance == null) {
            hideAllActionItems(_menuInstance);

            switch (pageIndex) {
                case 0:
                    showFirstTabActionItems(_menuInstance);
                    break;

                case 1:
                    showSecondTabActionItems(_menuInstance);
                    break;

                case 2:
                    showThirdTabActionItems(_menuInstance);
                    break;

                case 3:
                    showFourthTabActionItems(_menuInstance);
                    break;
            }
        }
    }
我正试图隐藏我的第一个选项卡上的图标,如下所示

 private void showFirstTabActionItems(Menu menu) {
        if (menu != null && menu.size() == 2) {

             menu.getItem(1).setVisible(false);
             menu.getItem(3).setVisible(false);


            _firstTabShowed = true;
        }
    }

但它不起作用。任何帮助都将不胜感激。

尝试使用所选的
方法执行此操作

tab.setIcon(null);