8
votes

Sélectionnez une seule case à cocher

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.

merci


2 commentaires

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.


8 Réponses :


18
votes

Pourquoi n'utilisez-vous pas les boutons radio à la place? Ils sont destinés exactement pour cela.

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.


2 commentaires

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



2
votes

J'ai fait ceci:

- dans ma mise en page: xxx


0 commentaires

3
votes

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


0 commentaires

0
votes

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 Lorsque la case à cocher cliquée sur Créer d'autres cases à cocher décochées < / p> xxx

 Entrez la description de l'image ici


0 commentaires

0
votes

pour Kotlin, je réussis à faire cela.

Exemple P>

Premier magasin une valeur ischecked dans votre objet P> xxx pré>

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


0 commentaires

0
votes

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


0 commentaires

0
votes

L'approche la plus simple.

étape 1 xxx

étape 2 xxx


0 commentaires

0
votes
val checkBoxList = mutableListOf<CheckBox>()
checkBoxList.add(...)

      checkBoxList.forEach {
        it.setOnCheckedChangeListener { buttonView, isChecked ->
            checkBoxList.forEach {
                it.isChecked = false
            }
            it.isChecked = isChecked
        }
    }

1 commentaires

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.