项目中有这么一个需求...
CheckBox可以通过点击事件弹出一个dialog而不能在点击时改变此CheckBox的状态,如果直接在xml中设置enable=false的话,连点击事件也没有了。所以只能通过重写CheckBox来实现
public class QCheckBox extends CheckBox {
public QCheckBox(Context context) {
super(context);
}
public QCheckBox(Context context, AttributeSet attrs) {
super(context, attrs);
}
public QCheckBox(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
public boolean performClick() {
return callOnClick();
}
}
通过重写,performClick
方法原来负责处理点击和改变状态,现在只处理点击了~