RadioGroup Selection根据选择检查和操作

时间:2013-05-25 23:25:04

标签: android

我的布局中有2个RadioGroup。

我希望用户检查两个组中的RadioButtons。

但我希望用户先从第一组中选择RadioButton,然后再从第二组中选择。因此,如果用户直接尝试从第二组中选择RadioButton,则会生成错误(可能是Toast或其他任何内容),首先从第一组中选择RadioButton。

所以我想实现这个东西,以便用户不能再从第二组中选择单选按钮。

e.g

类型:

o易于困难

动作:

o添加o减去

这些是来自不同广播组的单选按钮。

如果用户直接尝试从“操作”组中选择单选按钮,则它将不会被选中并显示和首先选择类型的错误消息。

希望我能清楚地解释我的问题。

由于

1 个答案:

答案 0 :(得分:0)

如果您将其放入onCreate,请调整您的ID:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    RadioGroup groupOne = (RadioGroup) findViewById(R.id.radio_group_one);

    groupOne.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, int index) {
            RadioGroup groupTwo = (RadioGroup) findViewById(R.id.radio_group_two);
            for(int i = 0; i < groupTwo.getChildCount(); i++) {
                groupTwo.getChildAt(i).setEnabled(true);
            }
        }
    });
}

然后您的XML布局文件应如下所示:

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/radio_group_one">

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Group 1 button 1"/>

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Group 1 button 2"/>
</RadioGroup>

<RadioGroup
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/radio_group_two">

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Group 2 button 1"
        android:enabled="false"/>

    <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Group 2 button 2"
        android:enabled="false"/>
</RadioGroup>

因此,第二个RadioGroup中的按钮首先被禁用,并且只有在用户在第一个中进行选择后才会启用。