感谢郭神:http://blog.csdn.net/guolin_blog/article/details/9097463


先总结一下

ontouchEvent,ontouchListener,onclickListener的执行顺序

1.view在执行dispatchTouchEvent的时候先要去判断该view是否有touchListener和执行TouchListener的onTouch方法的返回值。

2.TouchListener的onTouch方法返回false,事件继续传递在dispatch方法中调用了同级的onTouchEvent方法

3.然后在onTouchEvent方法中的UP事件中判断是否注册有onClickListener,有就执行onclick方法。

ontouchEvent,ontouchListener,onclickListener的执行顺序


文章提出的疑问。onTouchListener中返回了false为什么还能接收到ACTION_DOWN以外的事件。因为返回false之后会执行view的onTouchEvent方法。在onTouchEvent方法,只要当前view是可点击或者长按的都会返回true。


相关文章:

  • 2022-01-21
  • 2021-07-03
  • 2021-11-29
  • 2022-02-12
  • 2021-06-13
  • 2022-01-03
  • 2022-01-03
猜你喜欢
  • 2022-12-23
  • 2021-07-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-02
相关资源
相似解决方案