0

フラグメントからアクションバーアイテムを追加できるようにしたいと思います。

たとえば、ランドスケープモードでは、アイテムのリストがあり、クリックすると、そのアイテムに関する情報のページが表示されます。

アクションバーのドロップダウンをクリックしてリストのカテゴリを選択すると、リストを変更できます。

リストアイテムをクリックすると、詳細フラグメントが入力されます。次に、アクションバーに3つのタブを追加して、ユーザーがそのアイテムの詳細のどのページを表示するかを選択できるようにします。つまり、「詳細(デフォルト)」;「マップ」; および「機能」。

私のフラグメントでは、setHasOptionsMenu(true)を設定してから、onCreateOptionsMenu呼び出しを使用して新しいタブを追加できます。ただし、これにより、まだ表示したいドロップダウンが削除されます。

どうすればActionBarItemsを追加することができますか..?

ありがとう

4

1 に答える 1

0

onCreateOptionsMenuアクティビティの からフラグメントを呼び出すだけonCreateOptionsMenuです。if ステートメントを追加して、フラグメントのバージョンを呼び出すか、デフォルトでフラグメントを呼び出すかをonCreateOptionsMenu決定し、そこに if ステートメントを配置して、何を追加するかを決定できます。その後、変更が必要なときはいつでも を呼び出しますinvalidateOptionsMenu

おそらく、setHasOptionsMenu通話を削除する必要があります。

アクティビティ:

public boolean onCreateOptionsMenu(Menu m)
{
    // insert activity options
    if (needFragmentOptions) {
       fragment.onCreateOptionsMenu(m);
    }
    return true;
}

断片:

public boolean onCreateOptionsMenu(Menu m)
{
   // insert fragment options
   return true;
}
于 2012-11-19T16:11:34.057 に答える