在Android中创建选项菜单

3

我正在尝试为我的Android程序创建选项菜单。我使用以下代码来填充选项菜单:

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {     
     super.onCreateOptionsMenu(menu);   
        MenuInflater inflater=getMenuInflater();
        inflater.inflate(R.menu.optionsmenu, menu);
        return true;
   }

我的xml代码如下:

?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/Option1"
    android:title="Option1"/>
<item
    android:id="@+id/Option2"
    android:title="Option2"/>
<item
    android:id="@+id/Option3"
    android:title="Option3"/>
</menu>

但是,使用这段代码后我无法在屏幕上显示选项菜单。
另外,我正在使用下面的代码。
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 

使活动全屏显示。这段代码是否会导致菜单膨胀问题?

提前感谢,

Timson


这是针对哪个Android版本的? - Rajdeep Dua
请看这里:https://dev59.com/n2Yr5IYBdhLWcg3w8-kz - user1050755
4个回答

2

从你的onCreateOptionMenu中删除super.onCreateOptionsMenu(menu);这一行代码。实际上,在膨胀菜单之前,你已经提供了菜单。


我尝试过不使用super.onCreateOptionsMenu(menu),但仍然无法获取菜单。这是全屏视图的问题吗? - Timson
你在activity中重写了这个吗?只是想确认一下 :) - waqaslam
我正在覆盖它,并在我的程序中使用ActivityGroup。这会对菜单造成任何问题吗? - Timson
它也可以在ActivityGroup中工作。如果您正在使用Activites添加到您的activitygroup中,则应将此代码添加到活动中,而不是组中。 - waqaslam
1
嗯,你可以尝试将它添加到 ActivityGroup 中,因为我刚在我的一个 ActivityGroup 上测试了一下,它是有效的。 - waqaslam
显示剩余2条评论

0

选项菜单会在按下手机底部的“选项菜单”按钮时弹出


Android 版本是 2.2。我正按底部的选项菜单。但代码仍然无法运行。 - Timson

0

不要调用

super.onCreateOptionsMenu(menu);

因为这会在你的代码执行之前返回一个值。


0
请使用以下代码:
public boolean onCreateOptionsMenu(Menu menu) {
      MenuInflater inflater = getMenuInflater();
      inflater.inflate(R.menu.options_menu, menu);
      return true;
    }

我尝试了您的代码,没有使用 "super.onCreateOptionsMenu(menu);" 对我来说完美运行。 - Nibha Jain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接