我正在尝试在我的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版本。