详细请点击:http://www.verydemo.com/demo_c131_i35104.html
@Override无效的原因是什么?
public void onClick(View v),想在前头加个@Override,报如下错误:
Multiple markers at this line
- The method onClick(View) of type new View.OnClickListener(){} must override a superclass
method
- implements android.view.View.OnClickListener.onClick
------解决方案--------------------------------------------------------
JDK 版本问题 换一个JDK 就可以了,我遇到过就 是这样解决的!
public void onClick(View v),想在前头加个@Override,报如下错误:
Multiple markers at this line
- The method onClick(View) of type new View.OnClickListener(){} must override a superclass
method
- implements android.view.View.OnClickListener.onClick
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->/* * 文件名称: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"); } }
------解决方案--------------------------------------------------------
JDK 版本问题 换一个JDK 就可以了,我遇到过就 是这样解决的!