studio - programacion android pdf 2018
Cómo configurar un botón de radio en Android (8)
Muchas veces si sus botones de radio pertenecen a algún grupo de radio, entonces
radioButton.setChecked (true)
no seleccionará el botón de opción correctamente. Así que para resolver este problema intente usar su grupo de radio.
radioGroup.check (R.id.radioButtonId)
Tengo una aplicación que utiliza botones de radio. El valor predeterminado para este botón se establece en el archivo main.xml, es decir:
android:id="@+id/rb_sat1E"
android:checked="true"
En el archivo Java tengo:
final RadioButton radio1 = (RadioButton)findViewById(R.id.rb_sat1E);
También he creado un botón ''Restablecer'' en el archivo principal de Java y puedo usar el siguiente código para restablecer la información de TextView, es decir.
pos1_deg.setText("0.0");
Pero, ¿cómo reinicio un botón de radio? Yo hubiera pensado que era algo así como
radio1.setBoolean("TRUE");
Pero eso no funciona en absoluto.
Cualquier ayuda muy apreciada. Gracias.
O puedes hacerlo en el archivo XML:
En el Grupo de Radio usando: android:checkedButton="id_button_to_check"
o en el botón RadioButton : android:checked="true"
Para uso de radiobutón
radio1.setChecked(true);
No tiene sentido tener un solo RadioButton. Si tienes más de ellos, debes desmarcar otros a través de
radio2.setChecked(false); ...
Si su configuración está activada / desactivada, utilice CheckBox.
Si desea hacerlo en código, puede llamar al miembro de verificación de RadioGroup:
radioGroup.check(R.id.radioButtonId);
Esto marcará el botón que especifique y desmarque los demás.
Si ha realizado el diseño en XML y desea mostrar una de las casillas de verificación en el grupo como se verificó al cargar la página a continuación, las soluciones pueden ayudarlo.
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/txtLastNameSignUp"
android:layout_margin="20dp"
android:orientation="horizontal"
android:id="@+id/radioGroup">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:id="@+id/Male"
android:text="Male"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/Female"
android:text="Female"/>
</RadioGroup>
Solo para aclarar esto: si tenemos un RadioGroup
con varios RadioButtons
y necesitamos activar uno por índice, implica que:
radioGroup.check(R.id.radioButtonId)
y
radioGroup.getChildAt(index)`
Podemos hacer:
radioGroup.check(radioGroup.getChildAt(index).getId());
Tengo varios RadioButtons sin grupo y setChecked(true)
funciona, pero setChecked(false)
no funciona. Pero este código funciona:
RadioButton switcher = (RadioButton) view.findViewById(R.id.active);
switcher.setOnClickListener(new RadioButton.OnClickListener(){
@Override
public void onClick(View v) {
if(((RadioButton)v).isSelected()){
((RadioButton)v).setChecked(false);
((RadioButton)v).setSelected(false);
} else {
((RadioButton)v).setChecked(true);
((RadioButton)v).setSelected(true);
}
}
});
btnDisplay.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// get selected radio button from radioGroup
int selectedId = radioSexGroup.getCheckedRadioButtonId();
// find the radiobutton by returned id
radioSexButton = (RadioButton) findViewById(selectedId);
Toast.makeText(MyAndroidAppActivity.this,
radioSexButton.getText(), Toast.LENGTH_SHORT).show();
}
});