J’ai une application qui utilise des boutons radio. La valeur par défaut de ce bouton est définie dans le fichier main.xml, à savoir:
android:id="@+id/rb_sat1E" android:checked="true"
Dans le fichier Java, j’ai:
final RadioButton radio1 = (RadioButton)findViewById(R.id.rb_sat1E);
J’ai également créé un bouton “Réinitialiser” dans le fichier Java principal et peut utiliser le code suivant pour réinitialiser les informations TextView, c.-à-d.
pos1_deg.setText("0.0");
Mais comment réinitialiser un bouton radio? J’aurais pensé que c’était quelque chose comme
radio1.setBoolean("TRUE");
Mais cela ne fonctionne pas du tout.
Toute aide grandement appréciée. Merci.
Pour l’utilisation de RadioButton
radio1.setChecked(true);
Cela n’a aucun sens d’avoir juste un RadioButton. Si vous en avez plus, vous devez décocher les autres via
radio2.setChecked(false); ...
Si votre paramètre est juste activé / désactivé, utilisez CheckBox.
Si vous voulez le faire en code, vous pouvez appeler le membre de vérification de RadioGroup:
radioGroup.check(R.id.radioButtonId);
Cela va cocher le bouton que vous spécifiez et décochez les autres.
Ou vous pouvez le faire dans le fichier XML:
Dans le groupe Radio en utilisant: android:checkedButton="id_button_to_check"
ou dans le RadioButton : android:checked="true"
Juste pour clarifier ceci: si nous avons un RadioGroup
avec plusieurs RadioButtons
et que nous devons en activer un par index, cela implique que:
radioGroup.check(R.id.radioButtonId)
et
radioGroup.getChildAt(index)`
Nous pouvons faire:
radioGroup.check(radioGroup.getChildAt(index).getId());
Si vous avez effectué la conception en XML et que vous souhaitez afficher l’une des cases à cocher du groupe cochée lors du chargement de la page ci-dessous, les solutions peuvent vous aider.
J’ai plusieurs RadioButtons sans Group et setChecked(true)
fonctionne, mais setChecked(false)
ne fonctionne pas. Mais ce code fonctionne:
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); } } });
Plusieurs fois si vos boutons radio appartiennent à un groupe de radio alors
radioButton.setChecked (true)
ne sélectionnera pas le bouton radio correctement. Donc, pour résoudre ce problème, essayez d’utiliser votre radioGroup.
radioGroup.check (R.id.radioButtonId)
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(); } });