2014-10-23 4 views
0

Я пытаюсь создать меню с TabHost. Опции:Android: меню в TabHost не отображается с элементами только в Tab2

  • Tab1: нет товаров
  • Таб2: один пункт

Я сделал это с SetVisible истинным или ложным. Но моя проблема в том, что меню не отображается в Tab2, когда у меня нет элементов в Tab1. Если я поместил элементы в 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); 
    } 
} 

ответ

0

Моя проблема решается с:

public void onTabChanged(String tabId) { 

    ActivityCompat.invalidateOptionsMenu((Activity)context); 

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

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


    } 
}