2013-05-25 4 views
0

У меня есть 2 RadioGroups в моем макете.Проверка выбора и выбора радиогруппы в соответствии с выбором

Я хочу, чтобы пользователь проверял RadioButtons от обеих групп.

Но я хочу, чтобы пользователь сначала выбирал RadioButton из первой группы, а затем из второй группы. Таким образом, если пользователь напрямую пытается выбрать RadioButton из второй группы, он генерирует ошибку (может быть Toast или что-то еще), которое сначала выбирает RadioButton из первой группы.

Так что я хочу реализовать эту вещь, чтобы пользователь не мог сначала выбрать Радио-кнопку со второй группы.

например

Тип:

о Easy о проблемных

действий:

о Добавьте о Вычесть

Этих кнопки радио из разных групп радио.

Если пользователь непосредственно пытается выбрать радиокнопку из группы действий, тогда она не будет выбрана и отображается сообщение об ошибке и сообщение об ошибке, которое первым выберите тип.

Надеюсь, я четко объяснил свою проблему.

Благодаря

ответ

0

Если поместить это в ваш onCreate, регулируя для идентификаторов:

@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

Thats cool, но я хочу отображать как RadioGroup, потому что на моем экране уже есть только 3 вида, поэтому не хочу скрывать даже 1 из них ... Пожалуйста, проверьте мое редактирование. Спасибо – shivamDev

+0

Да, это сделает это - установка 'enabled =" false "' не _hide_ view, только делает его _disabled_, так что его нельзя щелкнуть. –

+0

Хорошо, есть ли способ показать тост и сказать пользователю, чтобы выбрать любое значение из первой группы радио? – shivamDev

Смежные вопросы