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项目。

相关问题