Groupe de boutons: Comment le vérifier par programmation
J'ai créer un groupe de boutons à partir de XML
<RadioGroup android:id="@+id/option"
android:layout_width="match_parent"
android:orientation="horizontal"
android:checkedButton="@+id/block_scenario_off"
android:layout_height="wrap_content">
<RadioButton
android:layout_width="0dip"
android:layout_weight="1"
android:text="@string/option1"
android:layout_height="wrap_content"
android:id="@+id/option1"
android:layout_gravity="center|left"
android:onClick="@string/on_click"/>
<RadioButton
android:layout_width="0dip"
android:layout_weight="1"
android:text="@string/option2"
android:onClick="@string/on_click"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/option2"/>
<RadioButton
android:layout_width="0dip"
android:layout_weight="1"
android:text="@string/option3"
android:onClick="@string/on_click"
android:layout_height="wrap_content"
android:layout_gravity="center|right"
android:id="@+id/option3" />
</RadioGroup>
Dans du code Java, I du programme, vérifier le premier sur création d'activité (onCreate()) de la manière suivante:
mOption = (RadioGroup) findViewById(R.id.option);
mOption.check(R.id.option1);
Mais lorsque l'activité est indiqué, pas de bouton radio est coché. Toute aide?
- Si vous vouliez vérifier les boutons de la radio par programme, alors vous ne devriez avoir accepté de répondre parce que c'est la façon dont nous les avons mis vérifié sur le fichier xml!
Vous devez vous connecter pour publier un commentaire.
Dans votre mise en page, vous pouvez ajouter
android:checked="true"
àCheckBox
vous souhaitez être sélectionné.Ou par programmation, vous pouvez utiliser le setChecked méthode définie dans la vérifiable interface:
RadioButton b = (RadioButton) findViewById(R.id.option1);
b.setChecked(true);
essayer cette
si vous voulez que votre bouton radio pour être contrôlé sur la base de la valeur d'une variable par exemple "genderStr", alors vous pouvez utiliser l'extrait de code suivant
Vous pouvez avoir besoin de déclarer les boutons de la radio dans la méthode onCreate de votre code et de les utiliser.
Watch out! vérifier que la case d'option avec
setChecked()
est pas de modification de l'état à l'intérieur du groupe de boutons. Par exemple, cette méthode dans le groupe de boutons sera de retour un mauvais résultat:getCheckedRadioButtonId()
.Vérifier le groupe de boutons toujours avec
vous avez été prévenu 😉
Saisir le groupe de radio et de regarder les enfants pour voir si tout est décoché.
Aussi vous pouvez utiliser la méthode getChildAt (). Comme ceci:
il ne fonctionnera que si vous mettez votre
mOption.check(R.id.option1);
enonAttachedToWindow
méthode ou comme ceci:la raison peut être de vérifier que la méthode ne fonctionne que lorsque le groupe de boutons est effectivement rendu.
J'utilise ce code pièce tout en travaillant avec des indices de groupe de boutons radio:
J'utilise ce code pièce tout en travaillant avec getId() pour le groupe radio:
jeu de position par votre conception de groupe de boutons
espérons que cela vous aidera!