web-dev-qa-db-ja.com

タブアクティビティ内のフラグメントでonCreateOptionsMenuを使用するにはどうすればよいですか? (シャーロックアクションバー)

タブアクティビティで次のメソッドをオーバーライドしましたが、それはそのように正常に動作しますが、フラグメントごとに特定のオプションメニューが必要です。これをフラグメントに入れてメニューボタンを押しても、何も起こりません。

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.activity_calc, menu);
    return true;
}
32
snotyak

アクションバーに参加する前に、フラグメントでsetHasOptionsMenu(true)を呼び出す必要があります。

85
CommonsWare

ぜひチェックしてみてください http://code.google.com/p/sherlock-demo/ 。 BackpackOnHeadが説明するように、ViewPager + ActionBarタブを使用して、アクティビティのフラグメント間を2つの異なる方法で移動できます。この場合は、ActionBarSherlockに移植されたAPI DemosサンプルアプリのFragmentTabs部分です。特にLoaderThrottleフラグメントには、独自のOptionsMenuアイテムがあります。

0
Sparky