Comment définir un bouton radio dans Android

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