开发需要在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 版权协议,转载请附上原文出处链接和本声明。