自定义控件是 xml 布局文件中根元素(或父元素)使用了 android:clickable 属性,在设置 View.OnClickLinstener 时无法响应onClick 事件:
删除 android:clickable 属性,如果需要使用这个属性,在代码中设置:
this.setClickable(true);
再次监听 onClick 事件,正常。
其实不止是 LinearLayout,像在 RelativeLayout中指定android:clickable 属性,同样会使 onClick 事件无法被监听。