自定义可以双击取消选中状态的RadioButton

  • Post author:
  • Post category:其他



开发需要在RadioGroup中的button为单选状态的同时,要求被选中的button再次点击取消选中状态。参考许多网上大神做法,发现一种简单完美的方法,记录于此

其实仅仅需要重写RadioButton的toggle()方法

public class ToggleRadioButton extends android.support.v7.widget.AppCompatRadioButton {

    public ToggleRadioButton(Context context) {
        this(context, null);
    }

    public ToggleRadioButton(Context context, AttributeSet attrs) {
        this(context, attrs, R.attr.radioButtonStyle);
    }

    public ToggleRadioButton(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    @Override
    public void toggle() {
        setChecked(!isChecked());
        if (!isChecked()) {
            ((RadioGroup)getParent()).clearCheck();
        }
    }
}

其他方法与原生的一样使用即可。



版权声明:本文为qq_20342111原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。