さて、私のアプリが起動すると、2 つのタブとアクション バーに 1 つのアクションがあり、2 番目のタブに切り替えるとレイアウトが変更され、バーにあるアクションを削除して、別のアクションを追加したい、これを達成する簡単な方法はありますか?
質問する
2644 次
2 に答える
4
動作しました!
onCreateOptionsMenuに条件ステートメントを追加し、タブを切り替えるときにメニューを無効にするだけです。これが誰かに役立つことを願っています!
条件付き:
public boolean onCreateOptionsMenu(Menu menu) {
if (getSupportActionBar().getSelectedNavigationIndex() == 1) {
menu.add("Share")
.setIcon(android.R.drawable.ic_menu_share)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
}
if (getSupportActionBar().getSelectedNavigationIndex() == 0)) {
menu.add("Settings")
.setIcon(android.R.drawable.ic_menu_manage)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
}
return true;
}
そして無効にするには:
invalidateOptionsMenu();
于 2012-06-23T05:42:06.957 に答える
2
あなたのタブFragments
はFragmentActivity
. その場合、setHasOptionsMenu(true)
タブ フラグメントのonCreate()
メソッドを使用する必要があります。そしてフラグメントのオーバーライドonCreateOptionsMenu
と。onOptionsItemSelected
残りはあなたのために行われます (タブを切り替えた後に actionItems を無効にするなど)。
于 2012-08-27T22:21:54.647 に答える