He creado RadioGroup
y RadioButton
dinámicamente de la siguiente manera:
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);
Aquí las radioBtn2.setChecked(true);
causas de paso radioBtn2
siempre se verifican. Eso significa que no puedo desmarcar radioBtn2
marcando otros dos botones de opción ( radioBtn1
, radioBtn3
). Quiero hacer que RadioGroup
solo pueda marcar un botón de radio a la vez (ahora puede marcar dos botones de radio a la vez).
¿Como puedó resolver esté problema?
android
radio-button
radio-group
Arenoso
fuente
fuente
Respuestas:
debe verificar el botón de radio en el grupo de radio de esta manera:
radiogroup.check(IdOfYourButton)
Por supuesto, primero tiene que configurar una identificación para sus botones de radio
EDITAR: lo olvidé,
radioButton.getId()
funciona también, gracias RameshEDIT2:
funciona en radiogroup xml
fuente
RadioButton
y conoce el índice que puede usar ((RadioButton) radioGroup.getChildAt (INDEX)). setChecked (true);setChecked()
One way would beradiogroup.check(((RadioButton)radioGroup.getChildAt(INDEX)).getId())
o algo asíradioGroup.Check(radioGroup.GetChildAt(0).Id);
para Xamarin. Usuarios de AndroidEn caso de que el atributo xml sea el
android:checkedButton
que toma elid
deRadioButton
ser verificado.fuente
En el archivo XML, configure el
android:checkedButton
campo en suRadioGroup
, con la identificación de su valor predeterminadoRadioButton
:fuente
fuente
fuente
setChecked()
después de que todos los botones de radio se hayan agregado al grupo de radio. Entonces,radioGroup.check(radioBtn2.getId())
no es necesarioHubo el mismo problema en el código de mi colega. Esto suena ya que su Grupo de Radio no está configurado correctamente con sus Botones de Radio. Esta es la razón por la que puede seleccionar varios botones de radio. Intenté muchas cosas, finalmente hice un truco que en realidad está mal, pero funciona bien.
Aquí configuro uno para el bucle, que comprueba los botones de radio disponibles y anula la selección de todos, excepto el nuevo clic. intentalo.
fuente
Agregue
android:checked = "true"
su actividad.xmlfuente
Es un error de RadioGroup
radioBtn2 sin viewId, y generateViewId está en onChildViewAdded ()
entonces, primero radioGroup.addView (radioBtn2), luego radioBtn2.setChecked (true);
Me gusta esto:
fuente