我正在尝试通过在AndroidViews.java文件中添加此代码来创建用于在模拟器屏幕上显示菜单的活动
AndroidViews.java
@Override
public boolean onCreateOptionMenu(Menu menu)
{
super.onCreateOptionsMenu(menu);
menu.add(0,1, Menu.NONE,"M1");
menu.add(0,2,Menu.NONE, "Button");
menu.add(0,3,Menu.NONE, "CheckBox");
return true;
}
我试图覆盖活动类的onCreateOptionMenu方法,但每当我用方法编写Override关键字时,它都会产生错误,即 AndroidViewsActivity类型的onCreateOptionMenu(Menu)方法必须覆盖或实现超类型方法
Plz尽快帮助我
答案 0 :(得分:5)
答案 1 :(得分:1)
您的方法名称应为onCreateOptionsMenu
(请注意额外的s)。如果它仍然不起作用,您可能不会将该方法添加到Activity类。
答案 2 :(得分:0)
请尝试以下代码,希望它适合您
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.optionsmenu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch (item.getItemId()){
case R.id.info:
startActivity(new Intent(this, AboutApp.class));
return true;
case R.id.exit:
finish();
return true;
}
return false;
}
这是res / menu /
中的optionsmenu.xml<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/info"
android:title="Info"
android:icon="@drawable/info_menubtn" />
<item android:id="@+id/exit"
android:title="Exit" />
</menu>
答案 3 :(得分:-1)
确保您使用的是支持@Override
的Java编译器版本。我建议使用1.6编译器,因为行为从1.5改变了一点,我认为你会发现的大多数例子,尤其是来自AOSP的例子都符合1.6。