1、调用顺序是:
onTouch ----> onTouchEvent -----> onclick
2、onTouch,onClick需要实现相应的接口;onTouchEvent是View的成员方法【onTouch()的使用需要实现View.OnTouchListener,onclick()要实现View.OnClickListener】
onTouch 方法是触摸屏幕便会执行,onClick 方法是在按键抬起后MotionEvent.ACTION_UP才执行的。
以下引用原文链接:https://blog.csdn.net/AND_YOU_with_ME/article/details/77861801
对于Android中常使用,常见到的方法onTouch(),用于处理对手势的判别进行相应的处理
1.onTouch方法:
onTouch方法是View的 OnTouchListener借口中定义的方法。
当一个View绑定了OnTouchLister后,当有touch事件触发时,就会调用onTouch方法。
(当把手放到View上后,onTouch方法被一遍一遍地被调用)
2.onTouchEvent方法:
onTouchEvent方法是override 的Activity的方法。
重新了Activity的onTouchEvent方法后,当屏幕有touch事件时,此方法就会别调用。
(当把手放到Activity上时,onTouchEvent方法就会一遍一遍地被调用)
3.touch事件的传递:
在一个Activity里面放一个TextView的实例tv,并且这个tv的属性设定为 match_parent
在这种情况下,当手放到屏幕上的时候,首先会是tv响应touch事件,执行onTouch方法。
如果onTouch返回值为true,
表示这个touch事件被onTouch方法处理完毕,不会把touch事件再传递给Activity,
也就是说onTouchEvent方法不会被调用。
(当把手放到屏幕上后,onTouch方法被一遍一遍地被调用)
如果onTouch的返回值是false,
表示这个touch事件没有被tv完全处理,onTouch返回以后,touch事件被传递给Activity,
onTouchEvent方法被调用。
(当把手放到屏幕上后,onTouch方法调用一次后,onTouchEvent方法就会一遍一遍地被调用)