当我在xml中设置enable=false时,Android复选框无法使用onclick


chkSend.setOnClickListener(sendClickListener);
private OnClickListener sendClickListener = new OnClickListener() {
    @Override
    public void onClick(View v) {
    }
};

我必须禁用复选框,但我需要使用onclick,我该怎么办?

我发现有人说可以工作,但我不知道如何使用它?

public class BtCheckBox extends CheckBox {
    public BtCheckBox(Context context) {
        super(context);
    }
    public BtCheckBox(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    public BtCheckBox(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }
    @Override
    public boolean performClick() {
        return callOnClick();
    }
}

这是不可能的,因为当您禁用复选框时,这意味着它是不可点击的。

如果您想在某些条件下取消选中复选框,可以在setOnCheckedChangeListener((上进行检查;

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
               @Override
               public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
                     if(isChecked)
                     {
                        checkBox.setChecked(false);
                     }
               }
           });

最新更新