最近碰到一个问题,明明在xml中设置了
android:clickable="false"
android:onClick="baseBtEvent"
以为这样就不会响应点击事件了,事与愿违,还是会响应。
翻源码
/**
* Register a callback to be invoked when this view is clicked. If this view is not
* clickable, it becomes clickable.
*
* @param l The callback that will run
*
* @see #setClickable(boolean)
*/
public void setOnClickListener(@Nullable OnClickListener l) {
if (!isClickable()) {
setClickable(true);
}
getListenerInfo().mOnClickListener = l;
}
发现只要是setOnClickListener都会更改clickable的值,那调换设置这两个的顺序呢
android:onClick="baseBtEvent"
android:clickable="false"
结果还是可以点击
既然这样就只能在加载布局之后通过代码设置clickable = "false"了,果然生效。
这里想找到从XML是怎么变成具体的View类的,没有找到文章,有谁知道可以推荐给我,感谢!