博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
点击事件监听器的五种写法
阅读量:6125 次
发布时间:2019-06-21

本文共 1675 字,大约阅读时间需要 5 分钟。

第一种方式:匿名内部类方式

        这种方式是官网推荐使用 的一种方式,即使用setOnClickListener()函数的方式,参数直接使用匿名,实现OnClickListener接口的onclick()方法。

在使用该方法的时候,一定不要把包import错了。* * 要导入android.view.View.OnClickListener* 在此处不要把包导入错了*/fun_btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stubToast.makeText(getApplicationContext(), "通过setOnClickListener()方法实现",Toast.LENGTH_SHORT).show();}});</span>
第二种方式:
接口方式
        定义一个内部类实现OnClickListener接口。在这里可以实现对多个按钮的监听。
首先在当前Activity实现OnclickListener接口:
public class MainActivity extends Activity implements OnClickListener
然后就是实现接口方法:
public void onClick(View v) {		// TODO Auto-generated method stub		switch (v.getId()) {  	    case R.id.button3:  				ContactTest c = new ContactTest();			c.testInsert(context); 	        break;  	    case R.id.button4:	    	ContentResolver cResolver1=this.getContentResolver();			Uri uri4=ContactsContract.RawContacts.CONTENT_URI.buildUpon()					.appendQueryParameter(ContactsContract.CALLER_IS_SYNCADAPTER, "true").build();			 cResolver1.delete(uri4, null, null);	    default:  	        break;  	    }  			}
最后就是绑定到Button上即可:
button.setOnClickListener(this); 
第三种方式:
指定button 的onClick属性方式
先在layout文件中指定onClick属性:
然后到Activity中实现这个onButtonClick方法:
public void dailPhone(View view){      Call();  }
第四种方式:
类中实现点击事件
1、在父类中调用点击事件
bt_dail.setOnClickListener(new MyButtonListener());
2、创建内部类
private class MyButtonListener implements OnClickListener{         /**        * 当按钮被点击的时候调用        */         @Override         public void onClick(View v) {             callPhone();          }                }
第五种方式:
把事件处理单独成一个类,基本没什么好处,除非此事件处理器经常被复用。

转载于:https://www.cnblogs.com/chaoyu/p/6436975.html

你可能感兴趣的文章
JS 基础篇(一):创建对象的四种方式
查看>>
JavaScript数据结构之数组栈队列
查看>>
全方位理解JavaScript的Event Loop
查看>>
vue + vuex + directives实现权限按钮的思路
查看>>
言简意赅——总结Java内存区域和常量池
查看>>
对象,包装类
查看>>
[swift 进阶]读书笔记-第六章:函数 C6P1函数的灵活性(The flexibility of function)...
查看>>
自定义控件总结和思考
查看>>
搞定神秘派之java注解
查看>>
《2019 区块链开发者报告》:Qtum 量子链公链设计与开发细
查看>>
使用协议作为可组合扩展
查看>>
沃伦·巴菲特 | 成功的 10/10/10 法则
查看>>
Object类深入研究
查看>>
停发年终奖背后,是程序员“失宠”了?
查看>>
前端项目如何管理
查看>>
SpiderData 2019年2月22日 DApp数据排行榜
查看>>
centos7 配置 uwsgi 系统服务(systemd)
查看>>
TypeScript--函数
查看>>
区块链之比特币的潜在激励
查看>>
vue:虚拟dom的实现
查看>>