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");
}
}
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");
}
}
解决方案 »
- Emulator Control调试中文短信
- android模拟器启动停留于一画面 Waiting for HOME ('android.process.acore') to be launched...
- 关于读取SDcard中图片的问题,求解答
- 求指教:listview点击无反应。
- 求分析这算是bug吗?
- [问题]android 调用webservice时出错org.xmlpull.v1.XmlPullParserException
- opengl下画几何图形遇到的问题??
- 哪位說說,Android 是怎麼跟 Linux Kernel 不相容?
- CTS使用Verifier.apk测试Data Backup Test 失败
- ListView选中后设定了背景色,可是一滑动,选中项离开Listview的框架,颜色消失了!
- android编程,如何删除通讯录中的联系人
- 关于ListView实时数据更新问题
作用:
1)它主要用于说明下面这个方法是要 进行 Override的。
2)避免想覆盖,确因为方法名拼错,而没有达成覆盖的目的。
是实现了接口的方法,Override 是重写父类的方法。
貌似java 1.6之后支持 ,用Override 来修饰 实现接口中的方法。