android中setOnClickListener的那点事
最近在写代码中,发现在xml文件设置了android:clickable="false",之后这个View还是可点的。
后来发现,是代码中对View设置了监听事件(setOnClickListener),把代码屏蔽了,clickable属性生效。
后来查看了一下源码(setOnClickListener),代码如下,发现其中的if语句,如果这个View clickable不可点,该方法会把这个View设为可点,这也就是为什么我的问题会出现的原因了
public void setOnClickListener(OnClickListener l) { if (!isClickable()) { setClickable(true); } getListenerInfo().mOnClickListener = l; }