转自:http://blog.csdn.net/zyz511919766/article/details/7481083
最近在做一个jWebSocket Android客户端的Demo时遇到如下错误:
"......The method onClick(View) of type new View.OnClickListener(){} must override a superclass...... "
“......The method onSensorChanged(SensorEvent) of type Fundamentals must override a superclass......”
相应的代码如下:
- 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.7。 就是说Java 1.5的编译器默认对父类的方法进行覆盖,采用@Override进行说明;但1.7已经扩展到对接口的方法,所以如果还是以Java 1.5的编译器来编译的话,会出现错误。 java的编译器是1.7版本的,选择编译级别为1.7即可。