我正在尝试使用TabHost 创建菜单。选项:
我用 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);
}
}
答案 0 :(得分:0)
我的问题解决了:
public void onTabChanged(String tabId) {
ActivityCompat.invalidateOptionsMenu((Activity)context);
if(tabId.equals("mitab1")) {
} else if(tabId.equals("mitab2")) {
}
}