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

来源:互联网 发布:java中文版下载 编辑:程序博客网 时间:2024/04/29 18:35

转自:http://blog.csdn.net/zyz511919766/article/details/7481083

最近在做一个jWebSocket Android客户端的Demo时遇到如下错误:


"......The method onAccuracyChanged(Sensor, int) of type Fundamentals must override a superclass......" 

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

“......The method onSensorChanged(SensorEvent) of type Fundamentals must override a superclass......”


相应的代码如下:

[java] view plaincopy
  1. lBtnSend.setOnClickListener(new OnClickListener() {  
  2.   
  3.             @Override  
  4.             public void onClick(View arg0) {  
  5.                 // TODO Auto-generated method stub  
  6.                 try {  
  7.                     JWC.broadcastText("pause");  
  8.                 } catch (WebSocketException ex) {  
  9.   
  10.   
  11.                 }  
  12.                   
  13.                 log(lBtnSend.getText());  
  14.                 if(lBtnSend.getText().equals("Pause")){  
  15.                     lBtnSend.setText("Begin");  
  16.                 }else{  
  17.                     lBtnSend.setText("Pause");  
  18.                 }  
  19.             }  
  20.   
  21.   
  22.         });  
  23. ......  
  24. ......  
  25.                @Override  
  26.             public void onAccuracyChanged(Sensor arg0, int arg1) {  
  27.                     ......  
  28.             }  
  29.   
  30.             @Override  
  31.             public void onSensorChanged(SensorEvent event) {  
  32.                         ......  
  33.             }  


查找后发现是jdk版本的问题

解决办法:

在Eclipse中依次打开:项目属性-->javaCompiler,找到其中的complier compliance level 将1.5改为1.7。 就是说Java 1.5的编译器默认对父类的方法进行覆盖,采用@Override进行说明;但1.7已经扩展到对接口的方法,所以如果还是以Java 1.5的编译器来编译的话,会出现错误。 java的编译器是1.7版本的,选择编译级别为1.7即可。


0 0
原创粉丝点击