View设置setOnTouchListener和setOnCl

2021-03-01  本文已影响0人  coogle88

平时使用的时候可能我们不会关注到源码,今天从源码里面查看一下

查看View事件我们看dispatchTouchEvent就可以了,我会会看到里面有一段代码

ListenerInfo li = mListenerInfo;if (li != null && li.mOnTouchListener != null && (mViewFlags & ENABLED_MASK) == ENABLED && li.mOnTouchListener.onTouch(this, event)) { result = true;} if (!result && onTouchEvent(event)) { result = true;}

可以看到mOnTouchListener !=null和ENABLED==true 来控制是否可以调用onTouch事件,所以setOnTouchListener和setOnClickListener同时存在的时候,就会先执行onTouch,在onTouchEvent里面有处理点击事件

上一篇下一篇

猜你喜欢

热点阅读