没有调用android actionbar oncreateoptionsmenu

时间:2012-10-31 11:43:35

标签: android android-actionbar

在我的应用程序中,我可以看到操作栏,但我看不到设置项,因为它从不调用onCreateOptionsMenu。

app对于目标sdk 16,它由一个标签组成,每个标签都是一个片段。 在Fragment类中,在onCreate()期间我调用setHasOptionsMenu(true)。 主题是Theme.Holo.Light。 如果我在模拟器(Android 4.0)上运行应用程序并按下硬件菜单项,它会调用该方法,但它会显示菜单,如Android 2.3菜单,而不是操作栏!!

我认为问题不在于sdk版本,因为操作栏是可见的! 任何的想法?我可以检查什么来找到错误?

非常感谢您的帮助! 我最诚挚的问候 和Manuela

2 个答案:

答案 0 :(得分:4)

我遇到了同样的问题并通过这种方式解决了

的manifest.xml

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar" >

删除android:theme =“@ android:style / Theme.NoTitleBar”

答案 1 :(得分:1)

这是正常行为。 系统适应其运行的硬件。

如果设备没有硬件按钮,则会显示为操作栏中的下拉列表。 如果设备有硬件按钮,它会从菜单按钮附近显示为上升。

修改

如果菜单在操作栏上,它只创建一次(因为菜单停留在屏幕上,不会像硬件键手机一样消失),所以还有另一个回调,我认为它是onPrepareOptionsMenu或类似的东西,在菜单显示在屏幕上之前调用一个。