Cómo configurar el botón de radio marcado como predeterminado en radiogroup con Android
He creado RadioGroup
y RadioButton
dinámicamente como siguiente
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í el paso radioBtn2.setChecked(true);
Hace que radioBtn2
siempre radioBtn2
marcada. Eso significa que no puedo desmarcar radioBtn2
comprobando otros dos botones de radio ( radioBtn1
, radioBtn3
). Quiero hacer que RadioGroup
pueda comprobar solamente un botón de radio a la vez (ahora puede comprobar dos radiobutton a la vez). ¿Como puedó resolver esté problema?
- RadioGroup con dos columnas que tienen diez RadioButtons
- RadioButton con vista personalizada de Android
- RadioGroup extendiendo RelativeLayout?
- Radiogrupo Android, divisor entre los botones de radio
- Comprobación del campo vacío de RadioGroup mediante setError en Android
- RadioGroup llama a onCheckChanged () tres veces
- Cómo configurar OnClickListener en un RadioButton en Android?
- grupo de radio setOnCheckedChangeListener
- Cómo igualar espacio hacia fuera radiobuttons en Android?
- Diseño personalizado para RadioButton
- Sólo un botón de radio seleccionado a la vez
- ¿Cómo comprobar si un radiobutton está marcado en un radiogroup en Android?
- android onCheckedChanged para el radiogrupo
Usted debe comprobar el radiobutton en el radiogroup como esto:
radiogroup.check(IdOfYourButton)
Por supuesto, primero tiene que establecer una ID a sus botones de radio
Editar: i forgot, radioButton.getId()
funciona también, thx Ramesh
En caso de que el atributo xml su android:checkedButton
que toma el id
del RadioButton
para ser comprobado.
<RadioGroup ... ... android:checkedButton="@+id/IdOfTheRadioButtonInsideThatTobeChecked" ... >....</RadioGroup>
En el archivo XML, establezca el campo android:checkedButton
en su RadioGroup
, con el id de su RadioButton
predeterminado:
<RadioGroup .... android:checkedButton="@+id/button_1"> <RadioButton android:id="@+id/button_1" ...../> <RadioButton android:id="@+id/button_2" ...../> <RadioButton android:id="@+id/button_3" ...../> </RadioGroup>
RadioGroup radioGroup = new RadioGroup(WvActivity.this); RadioButton radioBtn1 = new RadioButton(this); RadioButton radioBtn2 = new RadioButton(this); RadioButton radioBtn3 = new RadioButton(this); radioBtn1.setText("Less"); radioBtn2.setText("Normal"); radioBtn3.setText("More"); radioGroup.addView(radioBtn1); radioGroup.addView(radioBtn2); radioGroup.addView(radioBtn3); radioGroup.check(radioBtn2.getId());
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"); radioGroup.addView(radioBtn1); radioGroup.addView(radioBtn2); radioGroup.addView(radioBtn3); radioBtn2.setChecked(true);
Había el mismo problema en el código de mi colega. Esto suena como su grupo de radio no está ajustado correctamente con sus botones de radio. Esta es la razón por la cual puede seleccionar varios botones de radio. He intentado muchas cosas, finalmente hice un truco que está mal en realidad, pero funciona bien.
for ( int i = 0 ; i < myCount ; i++ ) { if ( i != k ) { System.out.println ( "i = " + i ); radio1[i].setChecked(false); } }
Aquí establezco uno para el bucle, que comprueba para los botones de radio disponibles y de-selecciona cada uno excepto el nuevo hecho clic. intentalo.
Es un error de RadioGroup
RadioButton radioBtn2 = new RadioButton(context);
RadioBtn2 sin viewId y generateViewId está en onChildViewAdded ()
public void onChildViewAdded(View parent, View child) { if (parent == RadioGroup.this && child instanceof RadioButton) { int id = child.getId(); // generates an id if it's missing if (id == View.NO_ID) { id = View.generateViewId(); child.setId(id); } ((RadioButton) child).setOnCheckedChangeWidgetListener( mChildOnCheckedChangeListener); } if (mOnHierarchyChangeListener != null) { mOnHierarchyChangeListener.onChildViewAdded(parent, child); } }
Así, primero radioGroup.addView (radioBtn2), luego radioBtn2.setChecked (true);
Me gusta esto:
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"); radioGroup.addView(radioBtn1); radioGroup.addView(radioBtn2); radioGroup.addView(radioBtn3); radioBtn2.setChecked(true);
- ¿Restricciones de clave externa en Android usando SQLite? En Eliminar cascada
- Agregar objeto a ArrayList en índice especificado