在android开发过程中,我们时常会需要与用户进行信息交互,就会接触到android的两种事件处
理机制:事件回调机制(onEvent)和事件监听机制(onListener),那么他们两者之间到底有什
么区别呢?我们来举两个例子,说明情况。
首先是onTouchListener(以下简称TL)和onTouchEvent(以下简称TE),TL是一个接口类,调
用它我们首先需要实现它的一个onTouch()抽象类方法,当指定区域监听到用户相对应的Action,
就会进入该方法进行相应处理;那么TE其实是View类下面一个方法,和onTouch一样需要被重
写,在其中我们可以根据不同的touch响应不同的处理方式。所以TL和View都是类,TE和onTouch
都是类里面的方法,我们可以通过这两种方法处理不同的touch交互Action。
那么onTouchListener和OnClickListener(以下简称CL)又有何区别呢?很明显的一点是,它们都
是一种Listener监听机制,而TL可以监听到点击事件在onTouch中处理,并传入两个参数View和
motionEvent,后者可以知道touch有哪些相应的Action,并分别处理,CL可以监听控件点击事件
在onClick中处理,并只传入View参数,统一进行点击处理。
有了这两种事件处理机制,我们可以灵活运用,并获得一个相对更好的用户体验,记住对产品来
说,用户至上!