面试安卓大厂面试题Framework

Android View大厂面试题(三)

2022-08-15  本文已影响0人  在岁月中远行

View设置了一个OnClickListener,那么它的onTouchEvent中,DOWN的事件返回是true还是false,为何?

现在我们从源码来分析:

View.setOnClickListener里面做了什么,

当View是不可clickable的,就设置为setClickable(true)

继续调用setFlags方法

其实就是给mViewFlags加上一个标志位CLICKABLE =0x00004000

再继续看onTouchEvent中方法中DOWN

这里会判断一个clickable变量,就是取出CLICKABLE标志位,如果有这个标志位,那么就为true。

可以看其实返回的就是clickable的值。所以返回的true。

其实这个题目View设置OnClickListener主要可能想考察TextView,ImagaView默认不是clickable,而Button默认就是clickable,所有button默认onTouchEvent的ACTIONDOWN事件返回true的。

上一篇 下一篇

猜你喜欢

热点阅读