2013-05-25 71 views
0

我的佈局中有2個RadioGroups。RadioGroup選擇檢查和根據選擇採取的行動

我希望用戶從兩個組中檢查RadioButtons。

但我希望用戶從第一組中選擇RadioButton,然後從第二組中選擇RadioButton。因此,如果用戶直接嘗試從第二組中選擇RadioButton,它會生成一個錯誤(可能是Toast或其他),首先從第一組中選擇RadioButton。

所以我想實現這個東西,以便用戶不會從第二組中選擇單選按鈕。

e.g

類型:

ØØ易難

操作:

ØØ添加減去

這些都是從不同的無線電組單選按鈕。

如果用戶直接嘗試從操作組中選擇單選按鈕,那麼它將不會被選中並顯示並顯示錯誤消息,即首先選擇類型。

希望我明確解釋了我的問題。

感謝

回答

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中的按鈕首先被禁用,並且只有在用戶在第一個選項中進行選擇後纔會啓用。

+0

這很酷,但我想同時顯示RadioGroup的,因爲我的屏幕上只有3個視圖,所以不想隱藏其中的一個...請檢查我的編輯。 謝謝 – shivamDev

+0

是的,這將做到這一點 - 設置'enabled =「false」'不會隱藏視圖,只會使_disabled_,以便它不能被點擊。 –

+0

好吧,是不是有什麼辦法顯示吐司並說用戶從第一個電臺組中選擇任何值? – shivamDev