質問

私の問題であったTabActivityは、4つのタブです。最初のタブでは、特別の詳細タブで、ユーザが変更一部のデータです。

問題は、いかOptionsMenuの活動のOptionsMenuが現れるべてのタブがあります。また、当ウェブサイト mTabHost.getCurrentTabTag()onCreateOptionsMenu その変更はない。どのようになる。

(以下のコードは、OptionsMenuべてのタブ)

 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);
 } 
役に立ちましたか?

解決

私はあなたが==で文字列(実際にはタグ)を比較していることがわかり、通常、これは.equals()方法でそれを行うことがよりよいです。多分それはあなたの問題を解決します。

:動的に(ドキュメントから)オプションメニューを更新するには
  あなたはオプションを変更したい場合は、

  メニューが開くたびに、あなたがしなければなりません   オーバーライドonPrepareOptionsMenu()

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top