Android按钮的点击事件的4种写法
来源:互联网 发布:一洋淘宝助手破解版 编辑:程序博客网 时间:2024/06/09 05:52
1.匿名内部类
2.创建一个类实现OnclickListener,setOnClickListener时传这个类的对象
3.让当前类直接实现OnclickListener,setOnClickListener时传this,一般开发采用该方式。
4.在布局文件中为控件配置一个Onclick属性,在布局对应的Activity中创建一个以属性值为名方法,切记public, 名字相同,传View;
一般公司开发不用,做简单测试时使用即可。
一、通过匿名内部类来实现,代码由电话拨号器项目改编:
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()方法来绑定实现的。
代码摘抄自电话拨号器项目:
定义一个内部类 目的实现 按钮监听
private class MyButtonListener implements 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)) { Toast.makeText(MainActivity.this, "号码不能为空", Toast.LENGTH_LONG).show(); return; } System.out.println("number--" + number); Intent intent = new Intent(); // 创建意图对象 intent.setAction(Intent.ACTION_CALL); intent.setData(Uri.parse("tel:" + number)); startActivity(intent); } }
三、由类文件去实现监听接口
代码如下:
//第一步: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方法 @Overridepublic void onClick(View v) {//根据v的id来区分点击的是哪个按钮 switch (v.getId()) { case R.id.btn_call: //DoSomething break; } }}
四、在布局文件中注册事件
1. 在布局文件中添加android:onClick 属性
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击我" android:onClick="btnCall"/>
2. 在相应的java代码中定义call方法
该方法的形参必须为View对象,且只能有一个。修饰符必须是Public public void btnCall(View view) { Toast.makeText(getApplicationContext(), "点击了我", Toast.LENGTH_SHORT).show(); }
0 0
- Android按钮的点击事件的4种写法
- Android 响应按钮点击事件的4种写法
- Android按钮点击监听事件的写法
- Android按钮点击事件的常用写法
- Android按钮点击事件的常用写法
- Android中按钮的点击事件的四种写法
- Android开发 按钮点击事件的几种写法
- 按钮点击事件的三种写法
- 按钮点击事件的四种写法
- Android点击事件的4种写法
- Android点击事件的4种写法
- Android点击事件的4种写法
- Android 点击事件的4种写法
- android_02_按钮点击事件的4种写法
- Android - Button(按钮)的响应点击事件的4种写法
- 2014-10-25Android学习--------按钮点击事件的写法
- Button按钮的几种点击事件的写法
- 按钮Button的点击事件的四种写法
- 函数声明时,名后面的const的意思
- [Android][Android Studio] Gradle项目中添加JNI生成文件(.so文件)
- iOS语音播报及后台播放
- 破解winScp工具 保存在本地的 密码
- 自定义Toast及解决Toast的重复显示问题
- Android按钮的点击事件的4种写法
- Android 常用适配器总结
- 魅族手环首发售罄 12月12日现货再开售
- 抓取各类别的文章
- Android电话拨打流程源码分析
- php网页显示中文乱码的解决办法!
- 如何获取别人APP中的图片资源
- http的一些概念
- JavaScript的原型与继承