studio sirve radiogroup radiobutton que para agrupar activar android radio-button radio-group

sirve - cómo configurar el botón de opción seleccionado como predeterminado en radiogroup con Android



radiobutton android checked (8)

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í el paso radioBtn2.setChecked(true); causa que radioBtn2 siempre radioBtn2 marcado. Eso significa que no puedo desmarcar radioBtn2 marcando otros dos botones de radio ( radioBtn1 , radioBtn3 ). Quiero hacer que RadioGroup solo pueda verificar un botón de radio a la vez (ahora puede verificar dos botones de radio a la vez). ¿Como puedó resolver esté problema?


Agrega android:checked = "true" en tu activity.xml


En el archivo XML, configure el campo android:checkedButton en su RadioGroup , con la identificación 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>


En el caso del atributo xml es android:checkedButton que toma el id del RadioButton para ser verificado.

<RadioGroup ... ... android:checkedButton="@+id/IdOfTheRadioButtonInsideThatTobeChecked" ... >....</RadioGroup>


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); } }

entonces, 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);


Hubo el mismo problema en el código de mi colega. Esto suena como que su grupo de radio no está configurado correctamente con sus botones de radio. Esta es la razón por la que puede seleccionar múltiples veces los botones de radio. Probé 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í configuré un ciclo for, que busca los botones de opción disponibles y los deselecciona a todos excepto el nuevo clickeado. intentalo.


deberías verificar el botón de radio en el grupo de radio de esta manera:

radiogroup.check(IdOfYourButton)

Por supuesto, primero tienes que establecer un Id para tus botones de radio

editar: lo olvidé, radioButton.getId() funciona también, thx Ramesh


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);