帮我解决这个错误

时间:2011-06-16 11:19:57

标签: android

我正在尝试通过在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尽快帮助我

4 个答案:

答案 0 :(得分:5)

应该是

onCreateOptionsMenu
              ^

如果您正在使用eclipse,您可以选择要覆盖的方法,并将它们自动添加到您的班级。请参阅here

答案 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。