public void onClick(View v),想在前头加个@Override,报如下错误:
Multiple ers at this line
- The method onClick(View) of type new View.OnClickListener(){} must override a superclass 
 method
- implements android.view.View.OnClickListener.onClick

/*
* 文件名称:Pit.java
* 描 述:个人所得税
*/package demo.android.pit;import java.text.DecimalFormat;import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;/*
* 类介绍:程序入口地址
*  AndroidManifest.xml文件的activity android:name="."决定
*  @Override关键字的函数,一般是由系统调用的
*/
public class Pit extends Activity {
private static final String TAG = "Pit"; //log标签

private Button m_button_submit; //提交
    private EditText m_field_income; //收入
    private EditText m_field_insurance; //保险
    private TextView m_view_result; //结果输出

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        findCtrlsFromID(); //从资源里获取交互界面的控件
        setListensers(); //按钮响应函数
    }
    
    /*
     * 函数介绍:从资源里获取交互界面的控件
     * 输入参数:无
     * 输出参数:无
     * 返回值  :无
     */
    private void findCtrlsFromID() {
     Log.v(TAG, "findCtrlsFromID enter");
    
     m_button_submit = (Button)findViewById(R.id.submit);
     m_field_income = (EditText)findViewById(R.id.income);
     m_field_insurance = (EditText)findViewById(R.id.insurance);
     m_view_result = (TextView)findViewById(R.id.result);
    
     Log.v(TAG, "findCtrlsFromID exit");
    }
    
    /*
     * 函数介绍:按钮响应函数
     * 输入参数:无
     * 输出参数:无
     * 返回值  :无
     */
    private void setListensers() {
     Log.v(TAG, "setListensers enter");
    
     m_button_submit.setOnClickListener(new Button.OnClickListener() {
     //@Override //在BMI程序中,此是有效的。不知为何,此地无效?
     public void onClick(View v) {
     Log.v(TAG, "setListensers : onClick enter");
    
         DecimalFormat nf = new DecimalFormat("0.00");
         try {
         //取得输入参数
         double income = Double.parseDouble(m_field_income.getText().toString())/100;
             double insurance = Double.parseDouble(m_field_insurance.getText().toString());
            
             //算法
             double PIT = insurance / (income * income);
            
             //结果输出
             m_view_result.setText(getText(R.string.pit_result) + nf.format(PIT));
         }
         catch (Exception err) {
         Toast.makeText(Pit.this, R.string.input_error, Toast.LENGTH_SHORT).show();
         }
        
         Log.v(TAG, "setListensers : onClick exit");
         }
     });
    
     Log.v(TAG, "setListensers exit");
    }
}

解决方案 »

  1.   

    Button.OnClickListener() 把这个的Button.去掉试试。。 
      

  2.   

    都已经显示地实现了还要加@Override干嘛
      

  3.   

    这个问题在eclipse的配置问题,在导入新工程的时候经常会这样。你要修改一下你的eclipse的jdk和jre配置就好了。具体请baidu
      

  4.   

    JDK 版本问题  换一个JDK 就可以了,我遇到过就 是这样解决的!
      

  5.   

    如果使用的是JDK1.5,经常会出现@Override行报错的情况。删掉就行。如果使用的是JDK1.6+eclipse,则在Window -> Preferences -> Java -> Compiler 中将JDK版本改为1.6即可。
      

  6.   

    这个问题在eclipse的配置问题,在导入新工程的时候经常会这样。你要修改一下你的eclipse的jdk和jre配置
      

  7.   

    "@Override"这种用法不是在每个JDK的版本中都支持的。
    作用:
    1)它主要用于说明下面这个方法是要 进行 Override的。
    2)避免想覆盖,确因为方法名拼错,而没有达成覆盖的目的。
      

  8.   

    @override是一点五才开始支持的。。
      

  9.   

    要确定那的确是个override的方法,其次是要在1.5
      

  10.   

    上面的方法如果都试过了,那就换一下Android sdk版本
      

  11.   

    右击project选择最后一个properties选择左侧的java compiler,勾选里面的框框,把java编辑器版本都改成1.6
      

  12.   

    你这个override是手动,还是自动加上的?要加override一般自动加上,eclipse工程中点右键出列表,然后点source,选中override/implyment methods
      

  13.   

    public void onClick(View v) 
    是实现了接口的方法,Override 是重写父类的方法。
    貌似java 1.6之后支持 ,用Override 来修饰 实现接口中的方法。
      

  14.   

    有在深圳做adroid想换工作的找我,要求1年以上工作经验。呵呵
      

  15.   

    6楼正解实验过了 如果你的JDK是1.6或者高于1.6版本