在学习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。
呵呵