J'ai une case à cocher multiples, mais je souhaite que l'utilisateur sélectionne une seule case uniquement. J'essaie si-else déclaration mais ce n'est pas utilisable. Donc, je veux savoir, comment être comme ça. P>
merci p>
8 Réponses :
Pourquoi n'utilisez-vous pas les boutons radio à la place? Ils sont destinés exactement pour cela. P>
Mais si vous insistez sur les cases à cocher, modifiez l'événement de sélection de n'importe quelle case à cocher de telle sorte que lorsqu'il est sélectionné, il désactive les autres cases à cocher. P>
N'est-ce pas la même chose? Donc, j'ai toujours besoin de désactiver le bouton radio à droite? Comment faire ça? merci ka
Les boutons radio sont normalement utilisés ensemble dans un radiogroupe. Lorsque plusieurs boutons radio vivent dans un groupe radio, la vérification d'un bouton radio décochive automatiquement tous les autres. Regardez cette URL: Java.dzone.com/articles / Google-Android-Tutorial? Page = 0,4
J'ai fait ceci:
J'ai fait ceci:
CB_1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if (b) { CB_2.setChecked(false); CB_3.setChecked(false); } } }); CB_2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if (b) { CB_1.setChecked(false); CB_3.setChecked(false); } } }); CB_3.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { if (b) { CB_2.setChecked(false); CB_1.setChecked(false); } } });
Il est recommandé d'utiliser des boutons radio mais comme dans mon cas, je devais suivre la conception de sorte que je l'ai fait comme ça à l'aide de Kotlin.
Supprimer Setonclicklistener Code> Lorsque la case à cocher cliquée sur Créer d'autres cases à cocher décochées < / p>
pour Kotlin, je réussis à faire cela.
Exemple P>
Premier magasin une valeur ischecked dans votre objet P> alors, si vous êtes Utilisation d'un recyclageView avec plusieurs cases à cocher, vérifiez simplement l'objet que vous venez d'appuyer sur P> override fun onCheckBoxClickListener(position:Int) {
for((index,value) in optionList.withIndex()){
value.isChecked = position == index
}
adapter.notifyDataSetChanged()
}
Utilisez SETONCLIKLISTENER
gdA.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { gdAB.setChecked(false); gdB.setChecked(false); gdO.setChecked(false); } }); gdB.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { gdA.setChecked(false); gdAB.setChecked(false); gdO.setChecked(false); } }); gdAB.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { gdA.setChecked(false); gdB.setChecked(false); gdO.setChecked(false); } });
L'approche la plus simple.
étape 1 p> étape 2 p>
val checkBoxList = mutableListOf<CheckBox>() checkBoxList.add(...) checkBoxList.forEach { it.setOnCheckedChangeListener { buttonView, isChecked -> checkBoxList.forEach { it.isChecked = false } it.isChecked = isChecked } }
Tandis que cet extrait de code peut résoudre la question, y compris une explication aide vraiment à améliorer la qualité de votre message. N'oubliez pas que vous répondez à la question des lecteurs à l'avenir, et ces personnes pourraient ne pas connaître les raisons de votre suggestion de code.
Pourquoi n'utilisez-vous pas des boutons radio?
S'il vous plaît, essayez d'utiliser Combobox. Qui vous permet de sélectionner une seule option.