onClick(View) of type new View.OnClickListener(){} must override a superclass method

时间:2024-03-28 20:34:14

原地址:http://blog.csdn.net/aeolus1019/article/details/8014798

Android开发过程中代码错误报错如下:

- implements android.view.View.OnClickListener.onClick
- The method onClick(View) of type new View.OnClickListener(){} must override a superclass

解决办法:

项目属性——javaCompiler中的 complier compliance level将1.5改为1.6

 原因:

JDK版本问题。

另:

对JDK 1.5的兼容级别,@Override不得用于继承Interface的子类方法指示,只能用于继承Class的子类方法指示 对JDK1.6的兼容级别,任意继承方法均可使用@Override 注意: Tomcat 6.0及以后版本,才能提供 JDK 6.0的兼容性支持  @Override 指示子类的某个方法是override父类的某个方法,假如这个父类相应的那个方法签名没有找到,那么编译器会提示错误信息。这个注释仅仅用于子类和父类,而不能用于类和接口 作用:确保子类的方法签名和父类的一致,以保证双方的方法签名一致。

PS:改掉JDK版本之后发现其他项目也 出现类似问题,因为还是要到window——preference里面将JDK版本改成1.6才能保证每个项目都不再犯此错误。