Android添加事件的四种方法
方法一:通过内部类的方式添加事件
btn.setOnClickListener(new MyButtonOnClickListener()); private class MyButtonOnClickListener implements OnClickListener { @Override public void onClick(View v) { EditText txtPhoneNum = (EditText) MainActivity.this .findViewById(R.id.txt_phone_num); String number = txtPhoneNum.getText().toString(); Log.i(tag, number); // 拨打电话号码 Intent intent = new Intent();// 意图 代表要执行一个动作的意图 // 拨打动作 110代表一个数据 intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" + number)); startActivity(intent); }
方法二:通过匿名内部类的方式实现
btn.setOnClickListener(new OnClickListener() { // 方法二:通过匿名内部类的方式添加单击事件 @Override public void onClick(View v) { String number = txtPhoneNum.getText().toString(); Log.i(tag, number); // 拨打电话号码 Intent intent = new Intent();// 意图 代表要执行一个动作的意图 // 拨打动作 110代表一个数据 intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" + number)); startActivity(intent); } });
方法三:通过Activity实现OnClickListener接口的方式实现
public class MainActivity extends Activity implements OnClickListener @Override public void onClick(View v) { switch (v.getId()) { case R.id.button1: String number = txtPhoneNum.getText().toString(); Log.i(tag, number); } }
方法四:在layout布局的xml文件中加入click代码
android:onClick="btn_click" // 方法四:通过在xml文件中添加onclick方法 public void btn_click(View v) { String number = txtPhoneNum.getText().toString(); Log.i(tag, number); }
如果TextView要实现onClick,必须加上android:clickable="true"