Android中获取到按钮后,我们一般会为其添加点击事件,而android中的点
击事件共有四种。
**一.通过匿名内部类来实现:**代码如下
btn_call.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v) {
EditText et_number = (EditText)
findViewById(R.id.et_number);
String number = et_number.getText().toString().trim(
// 获取文本框的内容
if ("".equals(number)) {
// context 上下文 duration 显示土司的时长
Toast.makeText(MainActivity.this, “号码不能为空”,
Toast.LENGTH_LONG).show();
return;
}
Intent intent = new Intent(); // 创建意图对象
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse(“tel:” + number));
startActivity(intent);
}
});
二.通过内部类来实现
其实第二种方法跟第一种方法在本质上没有任何差别,虽然一个是匿名内
部类另外一个是内部类,但是这只是写法上的差别,两者都是通过Button对象
的setOnClickListener()方法来绑定实现的。
三.由类文件去实现监听接口:
//第一步:Activity实现OnClickListener接口
public class SecondActivity extends Activity implements
OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
//第二步:得到button,并且设置点击监听为:this
Button btnCall = (Button) findViewById(R.id.btn_call);
btnCall.setOnClickListener(this);
}
//第三步:重写OnClickListener接口的onClick方法
@Override
public void onClick(View v) {
//根据v的id来区分点击的是哪个按钮
switch (v.getId()) {
case R.id.btn_call:
//DoSomething
break;
}
四.在布局文件中注册事件
- 在布局文件中添加android:onClick 属性
- 在相应的java代码中定义call方法
该方法的形参必须为View对象,且只能有一个。修饰符必须是Public
public void btnCall(View view) {
Toast.makeText(getApplicationContext(),
“点击了我”, Toast.LENGTH_SHORT).show();
}
本文详细介绍了Android中四种点击事件的实现方法,包括通过匿名内部类、内部类、由类文件实现监听接口以及在布局文件中注册事件的方式。每种方法都有具体的代码示例,帮助开发者更好地理解和使用。

2232

被折叠的 条评论
为什么被折叠?



