Android开发02_四种常用监听

来源:互联网 发布:python idle无法打开 编辑:程序博客网 时间:2024/06/05 18:44

在Android应用开发中,用户和手机交互的方式几乎都是通过触摸手机屏幕的方式进行(也有通过摇晃手机的方式),在代码中都是通过监听来实现用户触发的操作,常用的监听有:OnClickListener(点击监听)、OnTouchListener(触摸监听)、OnLongClickListener(长按监听)等等。此处我们先针对OnClickListener做讲解。

      

简单的点击事件可分为四类:匿名内部类、自定义监听类、主类实现监听接口、XML绑定监听。

我们编码只能做到给某个控件或者布局注册监听,单单是注册监听无法触发点击效果,要想触发监听事件必须用户手动对此控件做点击操作,初学者容易在此处晕菜。

其实这四类都是通过OnClickListener这个API提供的接口实现的,只不过表现形式不一样而已,下面一一进行讲解。

     

一、匿名内部类

所谓匿名内部类,字面意思理解就是没有名字的一个内部类,其实就是当我们某个控件想绑定监听的时候,直接实例化一个OnClickListener的接口对象即可。



二、自定义监听类

自定义监听类其实就是把匿名内部类取个名字使用而已,两者都是通过实例化OnClickListener接口对象达到监听的效果。


三、主类实现监听接口

通过主类实现OnClickListener接口算是项目中用的比较多的一种方式,因为实现OnClickListener接口后重写的OnClick方法提供了View的形参,可针对多个控件一对一的监听,免去了前两种监听重复实例化对象的繁琐,相比之下效率更高,更节省资源。

四、XML绑定监听

通过XML在布局中添加onClick属性指向代码中的方法名也可给空控件设置监听,此方法简单快捷,不需要在类中findViewById,唯一需要注意的是在Activity中写监听方法时要添加形参View,示例如下。



最后贴上布局文件的代码:

项目源码:https://github.com/Knight2016/DemoForOnClick



1 0