片段中的onCreateOptionsMenu未显示API< = 16

时间:2014-06-08 14:13:02

标签: android android-fragments android-optionsmenu

我正在尝试在我的Android应用程序中的某个片段中显示选项菜单。

在我的片段中,我已经覆盖了以下方法:

@Override
public void onPrepareOptionsMenu(Menu menu){
    getActivity().invalidateOptionsMenu();
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    super.onCreateOptionsMenu(menu, inflater);
    inflater.inflate(R.menu.overview_activity_menu, menu);
}

当用户按下Android设备的物理选项按钮时,会触发这些方法(我没有使用操作栏)。

菜单指定如下。

<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/action_add_as_dish" android:showAsAction="ifRoom" android:title="@string/action_add_as_dish" /> <item android:id="@+id/action_copy_to_other_day" android:showAsAction="ifRoom" android:title="@string/copy_to_other_day" /> <item android:id="@+id/action_add_to_shoppinglist" android:showAsAction="ifRoom" android:title="@string/add_to_shoppinglist" /> <item android:id="@+id/action_remove" android:showAsAction="ifRoom" android:title="@string/remove_selected" /> </menu>

现在,此代码适用于三星Galaxy S4 API 级别18(我已使用Genymotion进行了测试),菜单显示的方式与我想要的完全相同。

但是,当我在自己的设备上运行此代码时,菜单就不会显示。 我已经使用断点来验证方法是否实际被调用,但是没有可见的菜单。

我自己的设备在API&lt; = 16上运行,我感觉这与菜单未显示的原因有关。

如何让菜单显示在API&gt; = 14个设备上?

P.S。 API 14是最小值。我需要支持的SDK版本。

0 个答案:

没有答案