单选按钮onclick监听器

时间:2011-02-27 19:15:02

标签: android

我正在创建的应用程序中有单选按钮。当用户点击一个选项时,我希望其他单选按钮不可点击。

我不知道怎么做,单选按钮设置在onclick监听器中,逻辑设置在点击内。

2 个答案:

答案 0 :(得分:3)

如何在其余按钮上调用setEnabled(false)呢?如果有太多按钮,您可以考虑放入一个数组:

RadioButton[] buttons; //you put here all buttons..

// then, when you catch the click, call a method like this
private void disableOtherButtons(RadioButton buttonClicked)
    for(RadioButton button : buttons){
        if( button != buttonClicked ){
            button.setEnabled(false);
        }
    }
}

答案 1 :(得分:0)

如果您使用XML,则可以使用RadioGroup对它们进行分组,在以下示例中,一次只能选择一个单选按钮。

    <RadioGroup
        android:id="@+id/rg_configup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true"
        >
        <RadioButton
            android:id="@+id/rb_configup1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Sales"
            android:layout_centerVertical="true"
            android:layout_centerHorizontal="true"
            >
        </RadioButton>
        <RadioButton
            android:id="@+id/rb_configup2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Regional"
            android:layout_above="@+id/rb_configup1"
            android:layout_alignLeft="@+id/rb_configup1"
            >
        </RadioButton>
        <RadioButton
            android:id="@+id/rb_configup3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Global"
            android:layout_above="@+id/rb_configup2"
            android:layout_alignLeft="@+id/rb_configup1"
            >
        </RadioButton>
        <RadioButton
            android:id="@+id/rb_configup4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Ad-hoc"
            android:layout_above="@+id/rb_configup3"
            android:layout_alignLeft="@+id/rb_configup1"
            >
        </RadioButton>
    </RadioGroup>