在多行中有radioButton有问题
这是我的xml
<RadioGroup android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <RadioGroup android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/radio_one0Id" android:textSize="13sp" android:layout_weight="1" android:onClick="oneRadioButtonClicked" /> <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="13sp" android:text="5%" android:id="@+id/radio_one5Id" android:layout_weight="1" android:onClick="oneRadioButtonClicked" /> <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="10%" android:textSize="13sp" android:layout_weight="1" android:id="@+id/radio_one10Id" android:onClick="oneRadioButtonClicked" /> <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="20%" android:layout_weight="1" android:textSize="13sp" android:onClick="oneRadioButtonClicked" android:id="@+id/radio_one20Id" /> <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="35%" android:id="@+id/radio_one35Id" android:textSize="13sp" android:onClick="oneRadioButtonClicked" android:layout_weight="1" /> <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="50%" android:textSize="13sp" android:id="@+id/radio_one50Id" android:onClick="oneRadioButtonClicked" android:layout_weight="1" /> </RadioGroup> <RadioGroup android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="65%" android:textSize="13sp" android:id="@+id/radio_one65Id" android:onClick="oneRadioButtonClicked" android:layout_weight="1" /> <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="75%" android:textSize="13sp" android:layout_weight="1" android:id="@+id/radio_one75Id" android:onClick="oneRadioButtonClicked" /> <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="85%" android:textSize="13sp" android:id="@+id/radio_one85Id" android:layout_weight="1" android:onClick="oneRadioButtonClicked" /> <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:textSize="13sp" android:text="95%" android:id="@+id/radio_one95Id" android:layout_weight="1" android:onClick="oneRadioButtonClicked" /> <RadioButton android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="100%" android:id="@+id/radio_one100Id" android:textSize="13sp" android:layout_weight="1" android:onClick="oneRadioButtonClicked" /> </RadioGroup> </RadioGroup>
这是代码
public void oneRadioButtonClicked(View view) { // Is the button now checked? boolean checked = ((RadioButton) view).isChecked(); switch(view.getId()) { case R.id.radio_one0Id: if (checked) one = "0"; break; case R.id.radio_one5Id: if (checked) one = "5"; break; case R.id.radio_one10Id: if (checked) one = "10"; break; case R.id.radio_one20Id: if (checked) one = "20"; break; case R.id.radio_one35Id: if (checked) one = "35"; break; case R.id.radio_one50Id: if (checked) one = "50"; break; case R.id.radio_one65Id: if (checked) one = "65"; break; case R.id.radio_one75Id: if (checked) one = "75"; break; case R.id.radio_one85Id: if (checked) one = "85"; break; case R.id.radio_one95Id: if (checked) one = "95"; break; case R.id.radio_one100Id: if (checked) one = "100"; break; default: System.out.println("default"); } }
这样会像
它将选择两行中的两个按钮,我希望它只选择这些行中的一个按钮,谢谢任何帮助
解决方法
从搜索中,似乎没有办法做到这一点,
这意味着您必须手动实现此布局行为.两个可能的选项是:
这意味着您必须手动实现此布局行为.两个可能的选项是:
>创建RadioGroup的副本以扩展不同的布局,或者至少允许您动态地进行控制.
>实现自己的自定义布局来替换扩展您选择的布局的RadioGroup,并实现OnClickListener.有一个很好的例子How to group a 3×3 grid of radio buttons?.