代码之家  ›  专栏  ›  技术社区  ›  Keenora Fluffball

选项选项卡中的菜单特定选项卡的活动

  •  0
  • Keenora Fluffball  · 技术社区  · 14 年前

    问题是,如果我为活动添加OptionsMenu,那么OptionsMenu会出现在每个选项卡上。 mTabHost.getCurrentTabTag() OnCreateOptions菜单 但这并没有改变什么。

    (以下代码仍然显示每个选项卡上的选项菜单)

     public boolean onCreateOptionsMenu(Menu menu) {    
      if(mTabHost.getCurrentTabTag()==getString(R.string.tab_details)) {
       boolean result = super.onCreateOptionsMenu(menu);
       menu.add(0, EDIT_ID, 0, R.string.menu_edit).setIcon(R.drawable.edit);
       return result;
      }    
    
      return true;
     }
    
     public boolean onMenuItemSelected(int featureId, MenuItem item) {
      switch (item.getItemId()) {
           case EDIT_ID: {   
            Toast.makeText(this, "o.O", Toast.LENGTH_LONG).show();   
           }
      }
    
      return super.onMenuItemSelected(featureId, item);
     } 
    
    1 回复  |  直到 14 年前
        1
  •  0
  •   Sephy    14 年前

    我看到您正在比较字符串(实际上是标记)和==,通常,这样做更好 .equals() 方法。也许它能解决你的问题。
    要动态更新选项菜单(从文档中):

    如果你想改变选项 每次打开菜单时,您必须 重写onPrepareOptions菜单()