类型oddg的onClick(View)方法必须覆盖超类方法吗?

Smi*_*ith 15 java android overriding

我发生的错误如下:

"类型oddg的onClick(View)方法必须覆盖超类方法".

我很困惑在哪里发生了错误.你能指导我,究竟是什么错误?

public class oddg extends Activity implements OnClickListener
{
        ProgressDialog dialog;
        int increment;
        int maximum ;
        private static final String TAG = "ServicesDemo";

        @Override
        public void onCreate(Bundle savedInstanceState) 
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main1);
            Button startbtn = (Button) findViewById(R.id.startbtn);
            startbtn.setOnClickListener(this);

        }

        @Override
        public void onClick(View arg0)
        { }
}
Run Code Online (Sandbox Code Playgroud)

这是我的代码...在此先感谢 - Onkar

Rof*_*ion 42

我认为问题在于您将编译器设置设置为Java 1.5而不是Java 1.6.从Java 1.6开始,注释@Override不仅可以用于来自超类的继承方法,还可以用于来自接口的已实现方法.但是如果你的编译器仍然设置为1.5,问题是他将检查你是否从超类中覆盖了一个方法.在您的示例中,由于您是从接口实现方法,因此不是这种情况.

作为旁注,最好在代码中遵循Java命名约定.所以所有类都以大写字母开头.

  • 我和java 1.7一样对战.是天星! (7认同)
  • 如果您正在使用Eclipse,请转到Windows - >首选项 - > Java - >编译器,并将编译器合规性级别更改为1.6 (6认同)

Dmi*_*pov 9

我遇到了同样的麻烦,我修复了这个问题:

  • 打开项目设置 - > Java编译器
  • 设置启用项目特定的设置,以disable