0

私は3つ持っていFragmentますが、通常の(小さい)レイアウトではすべて別々のアクティビティにあります。小さなレイアウトでオプションメニューを提供する必要があります。

大きなレイアウトでは、1つのアクティビティに3つのフラグメントがあり、3つのフラグメントすべてによって膨らんだボタンでメニューがいっぱいになります。どうすればこれを防ぎ、小さなデバイスでも機能を保持したまま、アクティビティでオプションメニューを膨らませることができますか?

-編集-

したがって、各フラグメントは次のコードを使用します。

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    /* Some code */
    setHasOptionsMenu(true);
    /* Some code */
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater){
    inflater.inflate(R.menu.mymenu, menu);
}

3つのフラグメントがすべて表示されると、すべてのフラグメントが実行されonCreateOptionsMenu()、すべてのアイテムが3回表示されます。私が欲しいのは、親Activityがオプションメニューを作成する責任を負うことです。

4

2 に答える 2

2

各 Fragment で、メニュー全体を構築します。私が行ったことは、フラグメントに特定のメニュー項目のみを追加し、親アクティビティで一般的な項目を構築することです。

于 2012-06-29T21:02:49.827 に答える
0

isVisible()それぞれのメソッドを使用して、Fragment表示されているものを動的に確認し、アクティビティ内に適切に追加できます。

于 2012-06-28T20:55:32.150 に答える