如果我有一个带有 7 个单选按钮的单选组,并且我希望它们像这样对齐:
button2 button5
button1 button3 button6
button4 button7
有没有一种方法可以用一个 RadioGroup 完成上述操作(我可以将 button1 放在第一行,但这是我正在寻找的一般布局)
请帮忙
谢谢
如果我有一个带有 7 个单选按钮的单选组,并且我希望它们像这样对齐:
button2 button5
button1 button3 button6
button4 button7
有没有一种方法可以用一个 RadioGroup 完成上述操作(我可以将 button1 放在第一行,但这是我正在寻找的一般布局)
请帮忙
谢谢
您可以基于此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