实现结果:
1. 要求:
2. 自定义多选 MultiLineRadioGroup.java (部分代码)
public class MultiLineRadioGroup extends RadioGroup {
private OnCheckedChangeListener mOnCheckedChangeListener;
public MultiLineRadioGroup(Context context) {
super(context);
}
public MultiLineRadioGroup(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void setOnCheckedChangeListener(OnCheckedChangeListener onCheckedChangeListener) {
mOnCheckedChangeListener = onCheckedChangeListener;
}
@Override
public void addView(View child, int index, ViewGroup.LayoutParams params) {
if (child instanceof LinearLayout) {
int childCount = ((LinearLayout) child).getChildCount();
for (int i = 0; i < childCount; i++) {
View view = ((LinearLayout) child).getChildAt(i);
if (view instanceof RadioButton) {
final RadioButton button = (RadioButton) view;
button.setOnTouchListener((v, event) -> {
button.setChecked(true);
checkRadioButton(button);
if (mOnCheckedChangeListener != null) {
mOnCheckedChangeListener.onCheckedChanged(MultiLineRadioGroup.this, button.ge