0

ActionBarからアクティビティに 2 つの小さな変更を加える必要がありFragmentます。

親 FragmentActivityは、アプリ全体のメニューを処理しますonCreateOptionMenuonPrepareOptions

ただし、含まれているメインビューでは、ナビゲーションのためにタイトルを変更しFragmentたいと考えています。ActionBarそのたびにFragment変化します。

また、あるインスタンスでは、レイアウトで定義されている単一のメニュー項目を追加したいと考えています。この部分のコードを複製するのではなくoverride、同じ方法でメニュー全体を再度設定する必要がありますonOptionSelectedか? または...?

編集:

メニューxmlレイアウトには、次の項目があります。

 <item
        android:id="@+id/Add"
        android:title="Add Items"/>

ActionBarこのアイテムは、特定の 1 つのみで見る必要がありますFragment。メニューの残りの部分は、アプリの残りの部分に表示されるものと同じです。この新しいアイテムが必要なフラグメントでは、 、 、および をもう一度実行しonCreateOptionsMenuonPrepareOptionsMenuその他onOptionsItemSelectedのメニュー アイテムも複製する必要がありますか? または、その 1 つの余分なメニュー項目をポップoverrideインすることはできますか?Fragment

4

2 に答える 2

1

1.

getActivity().getActionBar().setTitle();

また

getActivity.getSupportActionBar().setTitle();
  1. もっと明確にしてください:)
于 2013-03-02T21:49:12.157 に答える
0

これは、パート2に必要なものに答えました。

これを onActivityCreated に入れる:

 setHasOptionsMenu(true);

そして、これも追加します:

 @Override
    public void onPrepareOptionsMenu(Menu menu) {
        super.onPrepareOptionsMenu(menu);

        ActivityCompat.invalidateOptionsMenu(getActivity());

        MenuItem Add = menu.findItem(R.id.Add);
        Add.setVisible(true);


    }

親アクティビティは、R.id.Addデフォルトで を非表示に設定します。

于 2013-03-02T23:45:01.720 に答える