Android错误:The method onClick(View) of type new View.OnClickListener(){} must override a superclass
最近在做一个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]
lBtnSend.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
try {
JWC.broadcastText("pause");
} catch (WebSocketException ex) {
}
log(lBtnSend.getText());
if(lBtnSend.getText().equals("Pause")){
lBtnSend.setText("Begin");
}else{
lBtnSend.setText("Pause");
}
}
});
......
......
@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {
......
}
@Override
public void onSensorChanged(SensorEvent event) {
......
}
查找后发现是jdk版本的问题
解决办法:
在Eclipse中依次打开:项目属性-->javaCompiler,找到其中的complier compliance level 将1.5改为1.6。 就是说Java 1.5的编译器默认对父类的方法进行覆盖,采用@Override进行说明;但1.6已经扩展到对接口的方法,所以如果还是以Java 1.5的编译器来编译的话,会出现错误。 java的编译器是1.6版本的,选择编译级别为1.6即可。
摘自 zyz511919766的专栏
补充:移动开发 , Android ,