查看view的setOnClickListener(@Nullable OnClickListener l)源码:
public void setOnClickListener(@Nullable OnClickListener l) {
if (!isClickable()) {
setClickable(true);
}
getListenerInfo().mOnClickListener = l;
}
可以看出setOnClickListener()方法中对view的isClickable()进行了判断,当isClickable()为false时,会点调用view的setClickable(true);
所以调用view的setClickable()方法要在setOnClickListener()方法之后不然会被setOnClickListener()方法中的setClickable(true)所覆盖