按下菜单按钮时不显示android选项菜单

时间:2012-07-30 11:21:48

标签: android android-optionsmenu

我想在我的Android应用程序中添加一个选项菜单。我创建了my_menu.xml文件,如下所示。

 <?xml version="1.0" encoding="utf-8"?>
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:id="@+id/play" android:title="Play" android:icon="@android:drawable/ic_media_play"/>
 <item android:id="@+id/comments" android:title="Comments" android:icon="@android:drawable/ic_menu_edit"/>
</menu>

然后我在我的java文件中覆盖onCreateOptionsMenu()方法,如下所示。

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

当我运行应用程序并单击菜单按钮时,它不显示任何内容。  任何人都可以给我一个解决这个问题的想法。

2 个答案:

答案 0 :(得分:0)

您是否使用过这段代码?

@Override
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {
        // TODO Auto-generated method stub
        super.onCreateContextMenu(menu, v, menuInfo);
    }

我认为添加这可能会有所帮助。

答案 1 :(得分:0)

您必须删除第一行:

 <?xml version="1.0" encoding="utf-8"?>

这一个:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/play" android:title="Play" android:icon="@android:drawable/ic_media_play"/>
    <item android:id="@+id/comments" android:title="Comments" android:icon="@android:drawable/ic_menu_edit"/>
</menu>

结合:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.my_menu, menu);
    return true;
}

在我的设备上正常工作。