32

我有我的選項卡活動覆蓋以下方法,它的工作正常,但我想每個片段的特定選項菜單。當我把它放在我的片段中並按下菜單按鈕時,沒有任何反應。如何在選項卡活動中的片段中使用onCreateOptionsMenu? (Sherlock ActionBar)

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

ActionBarSherlock不支持'TabActivity'。 – CommonsWare 2012-08-07 23:44:13

+0

我用SherlockFragmentActivity和contentView作爲ViewPager +選項卡的實現(所以我可以做滑動並單擊選項卡)。它不是特別的TabActivity ...它只是一個帶有標籤的活動。 – snotyak 2012-08-07 23:46:38

+1

你發佈的代碼有問題,它不會編譯。 「inflater」被定義兩次,並且在返回類型爲void的方法中不接受「return true」。 – RenniePet 2013-08-19 14:32:07

回答

85

你需要調用setHasOptionsMenu(true)您的片段,然後才能參加行動吧。

+0

啊,是的。我抄了錯誤的東西,但它有相同的方法,哈哈。我會稍微嘗試一下。謝謝。 – snotyak 2012-08-08 00:05:57

+3

hwo使用該代碼? – 2013-05-23 10:25:49

+0

'setHasOptionsMenu(true)'的doc鏈接將會很有幫助,謝謝。 – Jigar 2013-07-28 07:04:41

0

我可以建議你結賬http://code.google.com/p/sherlock-demo/。正如BackpackOnHead所述,它使用ViewPager + ActionBar選項卡讓您在活動中的片段之間導航兩種不同的方式。在這種情況下,它是API Demos示例應用程序的FragmentTabs部分,移植到ActionBarSherlock。 LoaderThrottle片段特別有它自己的OptionsMenu項目。

相關問題