J'ai créé RadioGroup
et RadioButton
dynamiquement comme suit:
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);
Ici les radioBtn2.setChecked(true);
causes d' étape sont radioBtn2
toujours vérifiées. Cela signifie que je ne peux pas décocher radioBtn2
en cochant les deux autres boutons radio ( radioBtn1
, radioBtn3
). Je veux que cela RadioGroup
ne puisse cocher qu'un seul bouton radio à la fois (maintenant, il peut vérifier deux radiobutton à la fois).
Comment puis-je résoudre ce problème?
android
radio-button
radio-group
Sablonneux
la source
la source
Réponses:
vous devriez vérifier le radiobutton dans le radiogroup comme ceci:
radiogroup.check(IdOfYourButton)
Bien sûr, vous devez d'abord définir un identifiant pour vos boutons radio
EDIT: j'ai oublié, ça
radioButton.getId()
marche aussi, merci RameshEDIT2:
fonctionne en xml radiogroup
la source
RadioButton
et que vous connaissez l'index, vous pouvez utiliser ((RadioButton) radioGroup.getChildAt (INDEX)). setChecked (true);setChecked()
One way seraitradiogroup.check(((RadioButton)radioGroup.getChildAt(INDEX)).getId())
ou quelque chose comme çaradioGroup.Check(radioGroup.GetChildAt(0).Id);
pour les utilisateurs de Xamarin.AndroidDans le cas de l'attribut xml, il
android:checkedButton
prend la valeurid
deRadioButton
à vérifier.la source
Dans le fichier XML, définissez le
android:checkedButton
champ dans votreRadioGroup
, avec l'ID de votre valeur par défautRadioButton
:la source
la source
la source
setChecked()
fois que tous les boutons radio ont été ajoutés au groupe radio. Alors, ceradioGroup.check(radioBtn2.getId())
n'est pas nécessaireIl y avait le même problème dans le code de mon collègue. Cela semble car votre groupe radio n'est pas correctement configuré avec vos boutons radio. C'est la raison pour laquelle vous pouvez sélectionner plusieurs fois les boutons radio. J'ai essayé beaucoup de choses, finalement j'ai fait un truc qui est faux en fait, mais qui fonctionne bien.
Ici, j'en ai défini une pour la boucle, qui vérifie les boutons radio disponibles et désélectionne chacun d'entre eux sauf le nouveau cliqué. essayez-le.
la source
Ajoutez
android:checked = "true"
votre activity.xmlla source
C'est un bug de RadioGroup
radioBtn2 sans viewId, et generateViewId est dans onChildViewAdded ()
donc, d'abord radioGroup.addView (radioBtn2), puis radioBtn2.setChecked (true);
Comme ça:
la source