2

さて、私のアプリが起動すると、2 つのタブとアクション バーに 1 つのアクションがあり、2 番目のタブに切り替えるとレイアウトが変更され、バーにあるアクションを削除して、別のアクションを追加したい、これを達成する簡単な方法はありますか?

4

2 に答える 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

あなたのタブFragmentsFragmentActivity. その場合、setHasOptionsMenu(true)タブ フラグメントのonCreate()メソッドを使用する必要があります。そしてフラグメントのオーバーライドonCreateOptionsMenuと。onOptionsItemSelected

残りはあなたのために行われます (タブを切り替えた後に actionItems を無効にするなど)。

于 2012-08-27T22:21:54.647 に答える