您的位置:首页 > 移动开发 > Android开发

关于JAVA回调函数和Android事件响应

2011-07-04 22:22 288 查看
【来自我的个人博客mengxin.tk】
Android开发中有一段常用的代码,就是为控件添加事件响应,我想开发过的人都应该熟记于心了。下面就一段案例代码:mtxtPeri =(TextView)findViewById(R.id.textPeri); OnClickListener listener1 = new OnClickListener() { //@Override public void onClick(View v) { // TODO Auto-generated method stub mtxtPeri.setText("触发事件"); } };this.mtxtPeri.setOnClickListener(listener1); 这段代码的功能很简单,就是为一个TextView控件添加一个单击的消息响应。其中OnClickListener是一个接口,在Activity类的OnCreate()函数中,声明并实现了这个接口,最后将这个接口绑定到控件上面,一旦控件被单击,那么最后这个函数就会执行,进而接口的函数就会执行,也就是被实现的OnClick()就会被执行。 这里是使用了回调函数的原理,通过在网上查阅了一些资料,对于JAVA的回调函数,一些高手给出了一些,通过分析,和上面的代码惊人的相似。 Kelvin的异想空间 提到这样一个回调函数的例子http://kidult.iteye.com/blog/148982功能很简单,如果我们要测试一个类的方法的执行时间:下面是传统方法,不做介绍。?
他给出了一个回调函数的版本,代码是这样的。?
下面对这两段代码进行比较分析,我们可以发现相似的地方。为了对比,故在此截图~~


加粗的两段代码是等价的,唯一的不同之处是,左边那个在使用时又定义了一个类tool。而右边的就是用的接口函数中的那个对象。另外右边的最后一句是等到单击时才会响应。左边的那个运行就会执行。这个应该是一种通用的设计模式,后面再仔细研究,对于回调函数和Android的消息响应机制通过这个例子可以共同理解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐