当前位置:操作系统 > 安卓/Android >>

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 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,