Android点击事件的四种写法
Android中获取到按钮后,我们一般会为其添加点击事件,而android中的点
击事件共有四种。
**一.通过匿名内部类来实现:**代码如下
btn_call.setOnClickListener(new OnClickListener()
{
@Overridepublic 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 类库介绍
- android事件处理的三种方式
- Android(安卓)NFC架构分析
- 2011.09.01(2)——— android 处理双击事件
- Android之去掉ListView的点击背景
- 2011.09.01(2)——— android 处理双击事件
- Android(安卓)Studio学习基础篇一
- TextView添加Onclick点击无效没反应解决办法
- android 中调用接口发送短信