我有一个扩展了Fragment
类的片段类,并调用setHasOptionsMenu
来参与菜单。这个类还实现了onCreateOptionsMenu
,onPrepareOptionsMenu
和onOptionsItemSelected
。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
....
}
我正在使用在Activity中加载Fragment的FragmentTransaction
,但是菜单回调(onCreateOptionsMenu
, onPrepareOptionsMenu
和onOptionsItemSelected
)没有被调用(我已经通过这些方法设置了一些断点),并且菜单也没有显示。
我错过了什么吗?我需要在我的Activity中添加什么吗?
我正在使用Android兼容库,在L11 SDK下进行编译,并在Xoom上进行测试。
编辑:我已经找到问题所在。我的AndroidManifest文件的目标版本是L11,这似乎隐藏了菜单按钮并阻止了回调函数的调用。然而,如果我从清单中删除targetSdkVersion=11
,那么我会失去一些我需要的其他功能(例如列表中的激活状态)。有没有人知道如何解决这个问题(启用菜单按钮)而不必从Manifest中删除targetSdkVersion=11
?