事件处理之二:点击事件监听器的五种写法 分类: H1_ANDROID 2013-09-11 10:32 4262人阅读 评论(1) 收藏
2013-09-11 10:32
260 查看
首选方法二!
方法一:写一个内部类,在类中实现点击事件
1、在父类中调用点击事件
2、创建内部类
方法二:使用匿名内部类
方法三:让activity实现点击接口
1、实现点击接口
3、实现接口方法
方法四、在layout XML文件中定义button点击时所调用的方法
1、指定方法
<Button
android:id="@+id/bt_dail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="dailPhone"
android:text="拨打此号码" />
2、定义方法
以下代码参考自《张泽华android视频》
第五种方法:
把事件处理单独成一个类,基本没什么好处,除非此事件处理器经常被复用。
方法一:写一个内部类,在类中实现点击事件
1、在父类中调用点击事件
bt_dail.setOnClickListener(new MyButtonListener());
2、创建内部类
private class MyButtonListener implements OnClickListener{ /** * 当按钮被点击的时候调用 */ @Override public void onClick(View v) { callPhone(); } }
方法二:使用匿名内部类
bt_dail.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { callPhone(); } })
方法三:让activity实现点击接口
1、实现点击接口
public class MainActivity extends Activity implements OnClickListener2、调用点击事件方法
bt_dail.setOnClickListener(this);
3、实现接口方法
@Override public void onClick(View v) { switch (v.getId()) { case R.id.bt_dail: callPhone(); break; default: break; } }
方法四、在layout XML文件中定义button点击时所调用的方法
1、指定方法
<Button
android:id="@+id/bt_dail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="dailPhone"
android:text="拨打此号码" />
2、定义方法
public void dailPhone(View view){ callPhone(); }
以下代码参考自《张泽华android视频》
package com.itheima.phone;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
private EditText et_phone;
/**
* activity创建的时候 调用的方法
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置activity显示的内容
setContentView(R.layout.phone_ui);
//寻找edittext 界面初始化的时候寻找控件 ,避免多次的查询
et_phone = (EditText) findViewById(R.id.et_phone);
//查找到一个关心的按钮
Button bt_dail= (Button) this.findViewById(R.id.bt_dail);
//给按钮注册一个点击事件的监听器
// bt_dail.setOnClickListener(new MyButtonListener());
//2.点击事件的第二种写法,匿名内部类
/* bt_dail.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { callPhone(); } });*/
//3.点击事件的第三种写法
//bt_dail.setOnClickListener(this);
//点击事件的第四种写法
}
private void callPhone() {
String number = et_phone.getText().toString().trim();
if("".equals(number)){
Toast.makeText(MainActivity.this, "电话号码不能为空", Toast.LENGTH_SHORT).show();
}else{
//TODO:拨打电话 激活系统的拨号应用 把电话号码传给系统的应用.
// 打人 打酱油 动作+数据 泡茶 泡妞
Intent intent = new Intent();//意图
intent.setAction(Intent.ACTION_CALL);//设置动作
intent.setData(Uri.parse("tel:"+number));
startActivity(intent);
}
}
/**
* 点击事件的第一种写法 . 写一个内部类.实现点击事件的接口
* @author Administrator
*
*/
private class MyButtonListener implements OnClickListener{ /** * 当按钮被点击的时候调用 */ @Override public void onClick(View v) { callPhone(); } }
//点击事件的第三种写法 让activity实现点击事件的接口
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.bt_dail:
callPhone();
break;
default:
break;
}
}
//4.点击事件的第四种写法 在xml文件里面定义 button点击的时候 调用什么方法
public void dailPhone(View view){
callPhone();
}
}
第五种方法:
把事件处理单独成一个类,基本没什么好处,除非此事件处理器经常被复用。
相关文章推荐
- 事件处理之一:两种方式:监听器与回调 分类: H1_ANDROID 2013-10-31 10:26 3250人阅读 评论(0) 收藏
- 事件处理之二:点击事件监听器的五种写法
- 事件处理之二:点击事件监听器的五种写法
- 事件处理之二:点击事件监听器的五种写法
- 事件处理之二:点击事件监听器的五种写法
- 给EditText的drawableRight属性的图片设置点击事件 分类: 学习笔记 android 2015-07-06 13:20 134人阅读 评论(0) 收藏
- 事件处理之二:点击事件监听器的五种写法
- 菜单之二:使用xml文件定义菜单 分类: H1_ANDROID 2013-11-03 09:39 1038人阅读 评论(0) 收藏
- 中断处理程序不能使用printf的本质 分类: vxWorks arm-linux-Ubuntu 2014-06-20 10:32 529人阅读 评论(0) 收藏
- 单例模式八种写法比较 2017-07-04 15:30 25人阅读 评论(0) 收藏 举报 分类: Android移动互联(19) 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录
- 处理Android SQLite -&n… 分类: Android数据存储 2014-05-30 10:58 95人阅读 评论(0) 收藏
- android图片处理方法ZZ 分类: Android图形动画 2015-01-11 12:24 48人阅读 评论(0) 收藏
- Android消息处理机制Thread、Handler、Looper 分类: Android 2015-07-15 09:28 5人阅读 评论(0) 收藏
- 【IE bug 解决办法】IE下(IE10及以下)当元素为absolute定位时,点击事件失效的解决办法 分类: ie ie bug ie absolute click 2015-06-26 11:05 21人阅读 评论(0) 收藏
- Loader之二:CursorLoader基本实例 分类: H1_ANDROID 2013-11-16 10:50 5447人阅读 评论(0) 收藏
- Android点击Button实现功能的几种… 分类: Android开发 2014-05-30 10:55 77人阅读 评论(0) 收藏
- Android 编程下 Touch 事件的分发和响应机制 分类: Android 2015-07-02 17:35 12人阅读 评论(0) 收藏
- AdapterView及其子类之二:使用ListActivity及ArrayAdapter创建列表 分类: H1_ANDROID 2013-11-19 22:01 1248人阅读 评论(0) 收藏
- android开发之AlertDialog点击按钮之后不消失 分类: android 学习笔记 2015-07-15 18:07 89人阅读 评论(0) 收藏
- TextView之二:常用属性 分类: H1_ANDROID 2013-10-30 12:43 3203人阅读 评论(0) 收藏