在学习Android的时候,写到一个代码
package com.mis.www;
import android.app.Activity;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
// 1.在Activity01当中,要声明4个控件
// 2.要为其中两个控件设置显示的值
// 3.创建一个监听器,监听按钮按下的动作
// 4.将监听器类的对象,绑定在按钮对象上
public class Activity01 extends Activity {
/** Called when the activity is first created. */
private EditText factorOne;
private EditText factorTwo;
private TextView symbol;
private Button calculate;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 根据控件的ID来取得代表控件的对象
factorOne = (EditText) findViewById(R.id.factorOne);
factorTwo = (EditText) findViewById(R.id.factorTwo);
symbol = (TextView) findViewById(R.id.symbol);
calculate = (Button) findViewById(R.id.Calculate);
// 为symbol和calculate设置显示的值
// symbol.setText("乘以");
// calculate.setText("等于");
symbol.setText(R.string.symbol);
calculate.setText(R.string.calculate);
//将监听器绑定在calculate上面
calculate.setOnClickListener(new CalculateListener());
}
class CalculateListener implements OnClickListener {
public void onClick(View v){
//取得两个EditText的值
String factorOneStr=factorOne.getText().toString();
String factorTwoStr=factorTwo.getText().toString();
//将这个两个值存放到intent对象当中
Intent intent=new Intent();
intent.putExtra("one", factorOneStr);
intent.putExtra("two", factorTwoStr);
intent.setClass(Activity01.this,Activity02.class);
//使用这个intent启动Activity02
Activity01.this.startActivity(intent);
}
}
}
可当这个运行的时候,
class CalculateListener implements OnClickListener {
会显示红色,究其原因,这个是因为android不接受OnClickListener,只接受View.OnClickListener。
呵呵