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;
    }

 

posted @ 2014-07-04 15:35  BaronZ  阅读(4660)  评论(0编辑  收藏  举报