覆盖OnCreateOptionsMenu方法

时间:2016-06-21 16:11:38

标签: android android-studio android-activity oncreateoptionsmenu

我目前正在尝试在我的应用中创建一个基本操作栏。我试图在我的主要活动中覆盖onCreateOptionsMenu方法,但是我得到一个错误,"方法不会覆盖或实现超类型的方法"。但是,我在“活动”中看到了这一点。类定义(https://developer.android.com/reference/android/app/Activity.html)它确实包含方法。那么,请帮助我理解为什么我无法覆盖该方法?

这里是MainActivity类代码以及所有导入:

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity {

     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
     }

     @Override
     public boolean OnCreateOptionsMenu(Menu menu)
     {
         //Inflate the menu. this adds items to the action bar if it is present
         getMenuInflater().inflate(R.menu.menu_main,menu);
         return super.onCreateOptionsMenu(menu);
     }

     @Override
     public boolean onOptionsItemSelected(MenuItem item)
     {
         switch(item.getItemId())
         {
             case R.id.action_create_order:
                 //Code to run when the create order item is clicked
                 Intent intent=new Intent(this,OrderActivity.class);
                 startActivity(intent);
                 return true;
             case R.id.action_settings:
                 //Code to run when the settings item is clicked
                 return true;
             default:
                 return super.onOptionsItemSelected(item);
         }
     }


 }

1 个答案:

答案 0 :(得分:2)

这是因为您尝试覆盖基类中不存在的方法。 java中的方法区分大小写。因此OnCreateOptionsMenu和onCreateOptionsMenu是不同的方法。将方法名称更改为onCreateOptionsMenu,它将起作用。