2011-02-27 98 views
0

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

我不知道如何做到这一点,单选按钮在onclick监听器中设置,并在点击时设置逻辑。

回答

3

如何在其余的按钮上调用setEnabled(false)?如果有,你可以考虑把阵列中的过多的按键:使用您使用RadioGroup中的XML,你可以将它们,在下面的例子中只有一个单选按钮

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); 
     } 
    } 
} 
0

如果是在同一时间选择。

<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>