Nicolas Pamart Posté(e) 10 novembre 2013 Share Posté(e) 10 novembre 2013 Bonjour, je développe une Appli android et j'ai des difficultés pour écouter le changement de check des checkbox. Voici ma fonction pour modifier les checked: public void verifierBoxChecked(){ if(ptcheck10.isChecked()){ ptcheck30.setChecked(false); ptcheck100.setChecked(false); } else if(ptcheck30.isChecked()){ ptcheck10.setChecked(false); ptcheck100.setChecked(false); } else if(ptcheck100.isChecked()){ ptcheck10.setChecked(false); ptcheck30.setChecked(false); } } Ma fonction OnCreate: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ptcheck10 = (CheckBox) findViewById(R.id.ptcheck10); ptcheck30 = (CheckBox) findViewById(R.id.ptcheck30); ptcheck100 = (CheckBox) findViewById(R.id.ptcheck100); ptcheck10.setOnCheckedChangeListener((android.widget.CompoundButton.OnCheckedChangeListener) this); ptcheck30.setOnCheckedChangeListener((android.widget.CompoundButton.OnCheckedChangeListener) this); ptcheck100.setOnCheckedChangeListener((android.widget.CompoundButton.OnCheckedChangeListener) this); } Et le listener que je ne comprends pas : public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub } Merci de votre aide ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 13 novembre 2013 Share Posté(e) 13 novembre 2013 Bonjour, Tu n'implémentes pas le bon listener. Il faut que ton Activity implémente l'interface android.widget.CompoundButton.OnCheckedChangeListener, et non android.widget.RadioGroup.OnCheckedChangeListener Ensuite, tu implémentes la méthode onCheckedChanged, qui recevra en paramètre la checkbox et le nouvel état de celle-ci, lorsqu'il change public void onCheckedChanged (CompoundButton buttonView, boolean isChecked) { if (buttonView.getId() == R.id.ptcheck10) { // traiter le cas bouton 1 } // etc... } Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nicolas Pamart Posté(e) 13 novembre 2013 Auteur Share Posté(e) 13 novembre 2013 J'ai changer par ça: public void onCheckedChanged (CompoundButton buttonView, boolean isChecked) { if (buttonView.getId() == R.id.ptcheck10) { ptcheck30.setChecked(false); ptcheck100.setChecked(false); } else if (buttonView.getId() == R.id.ptcheck30) { ptcheck10.setChecked(false); ptcheck100.setChecked(false); } else if (buttonView.getId() == R.id.ptcheck100) { ptcheck30.setChecked(false); ptcheck10.setChecked(false); } } Mais les checkbox continuent de toutes se cocher.. Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 13 novembre 2013 Share Posté(e) 13 novembre 2013 Comment sont définies tes checkboxes dans ton layout ? Ceci-dit, si ton but est de faire un ensemble de checkboxes, dont une seule est cochée à la fois, tu ferais mieux d'utiliser des RadioButtons; c'est le système qui gérera alors le 'uncheck' des autres boutons Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.