现在的位置: 首页 > 综合 > 正文

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

2017年10月28日 ⁄ 综合 ⁄ 共 974字 ⁄ 字号 评论关闭

最近在做一个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......”

相应的代码如下:

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即可。

抱歉!评论已关闭.