Android:TabHost中的菜单不会仅显示在Tab2中的项目

时间:2014-10-23 09:11:59

标签: android android-tabhost menuitem visible

我正在尝试使用TabHost 创建菜单。选项:

  • Tab1:没有项目
  • Tab2:一项

我用 setVisible true或false 完成了它。但我的问题是,当Tab1中没有项目时,菜单不会出现在Tab2中。如果我把项目放到Tab1工作正常。

我只使用onPrepareOptionsMenu()和onOptionsItemSelected()。我没有onCreateOptionsMenu()和invalidateOptionsMenu();

有什么问题?

public boolean onPrepareOptionsMenu(Menu menu) {

    menuItemActualizar = menu.findItem(R.id.menuOpcActualizar);

    switch (tabs.getCurrentTab()) {
    case 0:
        menuItemActualizar.setVisible(false);
        break;

    case 1:
        menuItemTipoMapa.setVisible(true);
        break;

    default:
        menuItemActualizar.setVisible(false);
        break;
    }

    return true;
}

public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {

        case R.id.menuOpcActualizar:

            ...

            return true;


        default:
            return super.onOptionsItemSelected(item);
    }
}

1 个答案:

答案 0 :(得分:0)

我的问题解决了:

public void onTabChanged(String tabId) {

    ActivityCompat.invalidateOptionsMenu((Activity)context);

    if(tabId.equals("mitab1")) {        

    } else if(tabId.equals("mitab2")) {


    }
}