0

如果我有一个带有 7 个单选按钮的单选组,并且我希望它们像这样对齐:

           button2    button5
button1    button3    button6
           button4    button7

有没有一种方法可以用一个 RadioGroup 完成上述操作(我可以将 button1 放在第一行,但这是我正在寻找的一般布局)

请帮忙

谢谢

4

1 回答 1

0

您可以基于此http://developer.android.com/reference/android/widget/RadioGroup.OnCheckedChangeListener.html实现自己的按钮处理逻辑:

public class RadioButtonHandler implements RadioButton.OnCheckedChangeListener {

    private CompoundButton currentlyCheckedButton = null;

    public void onCheckedChanged(CompoundButton button, boolean isChecked) {
            if (isChecked) {
               currentlyCheckedButton .setChecked(false);
               currentlyCheckedButton = button;
            }
    }

    public void addButton(RadioButton button) {
           // if this is the first button, set it as the current button
           if (currentlyCheckedButton == null) {
               currentlyCheckedButton = button;
           }
           button.setOnCheckedChangeListener(this);
    }

    public CompoundButton getCheckedRadioButton() {
        return currentlyCheckedButton ;
    } 
}

实例化此类并为该类应控制的每个按钮调用 addButton。然后你可以在你需要的任何视图组中布局你的按钮。向 onCheckChanged 回调添加额外的逻辑或调用 getCheckedRadioButton ,这将返回对当前选中按钮的引用。

[编辑] 修正错字 = getCheckedButton -> getCheckedRadioButton

于 2012-11-05T19:24:14.017 回答