Я создал RadioGroup
и RadioButton
динамически следующим образом :
RadioGroup radioGroup = new RadioGroup(context);
RadioButton radioBtn1 = new RadioButton(context);
RadioButton radioBtn2 = new RadioButton(context);
RadioButton radioBtn3 = new RadioButton(context);
radioBtn1.setText("Less");
radioBtn2.setText("Normal");
radioBtn3.setText("More");
radioBtn2.setChecked(true);
radioGroup.addView(radioBtn1);
radioGroup.addView(radioBtn2);
radioGroup.addView(radioBtn3);
Здесь всегда проверяются radioBtn2.setChecked(true);
причины шага radioBtn2
. Это означает, что я не могу снять флажок radioBtn2
, установив два других переключателя ( radioBtn1
, radioBtn3
). Я хочу, чтобы он RadioGroup
мог проверять только одну радиокнопку за раз (теперь он может проверять две радиокнопки за раз).
Как я могу решить эту проблему?
Ответы:
вы должны проверить радиокнопку в радиогруппе следующим образом:
radiogroup.check(IdOfYourButton)
Конечно, сначала вам нужно установить идентификатор для ваших радиокнопок.
РЕДАКТИРОВАТЬ: я забыл,
radioButton.getId()
тоже работает, спасибо РамешEDIT2:
работает в радиогруппе xml
источник
RadioButton
и знаете индекс, который вы можете использовать ((RadioButton) radioGroup.getChildAt (INDEX)). setChecked (true);setChecked()
One wayradiogroup.check(((RadioButton)radioGroup.getChildAt(INDEX)).getId())
или что-то в этом родеradioGroup.Check(radioGroup.GetChildAt(0).Id);
для пользователей Xamarin.AndroidВ случае , если для атрибута XML его ,
android:checkedButton
который беретid
изRadioButton
провериться.источник
В XML-файле установите
android:checkedButton
поле в свойRadioGroup
с идентификатором по умолчаниюRadioButton
:источник
источник
источник
setChecked()
после того, как все переключатели были добавлены в группу переключателей. Тогда вradioGroup.check(radioBtn2.getId())
этом нет необходимостиТакая же проблема была в коде моего коллеги. Это звучит, так как ваша радиогруппа неправильно настроена с помощью радиокнопок. По этой причине вы можете выбрать несколько переключателей. Я пробовал много вещей, и в конце концов сделал трюк, который на самом деле не так, но работает нормально.
Здесь я установил один цикл for, который проверяет доступные переключатели и отменяет выбор всех, кроме нового, по которому щелкнули. попытайся.
источник
Добавьте
android:checked = "true"
в свой activity.xmlисточник
Это ошибка RadioGroup
radioBtn2 без viewId, а generateViewId находится в onChildViewAdded ()
Итак, сначала radioGroup.addView (radioBtn2), затем radioBtn2.setChecked (true);
Как это:
источник