本文主要是介绍【Android面试八股文】如果 onTouchEvent()方法返回false,onClick()方法还会执行么?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、onTouchEvent 返回 false 的情况
- 二、示例场景分析
- 三、结论
在 Android 中,拦截事件通常指阻止事件继续传递或者消费事件,以防止它继续触发其他后续事件(比如
onClick()
)。
在 onTouchEvent()
方法中,如果返回 false
,表示当前 View 没有处理该事件,Android 系统会继续将事件传递给后续的 View 或者执行点击事件的回调。
下面详细解释了相关的事件处理逻辑:
一、onTouchEvent 返回 false 的情况
-
onTouchEvent 返回 false:
- 当
onTouchEvent(MotionEvent event)
方法返回false
时,表示当前 View 没有消费该事件,希望事件可以继续传递给更深层次的 View 或者执行点击事件的回调。
- 当
-
onClick 的执行:
onClick()
方法的触发是基于onTouchEvent()
方法中是否识别到了一次有效的点击事件。具体来说,当在onTouchEvent()
方法中判断到该事件符合点击的条件(通常是在ACTION_UP
事件中),会调用performClick()
方法。performClick()
方法内部会首先调用View
类中的performClick()
这篇关于【Android面试八股文】如果 onTouchEvent()方法返回false,onClick()方法还会执行么?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!