Comment recevoir un événement sur la case à cocher android?

Quelle serait la bonne façon de recevoir et d’envoyer un événement lorsqu’une case à cocher est activée ou désactivée? En c # je pourrais facilement double-cliquer et tout le code serait fait pour moi. mais dans Android, il semble être un peu plus obscur. J’ai pensé utiliser les gestionnaires d’événements tactiles, mais si l’utilisateur a un clavier, il ne détectera pas le changement car ce n’est pas tactile. Je pense que Android devrait avoir un événement natif pour le changement d’état de la case à cocher.

CheckBox repeatChkBx = ( CheckBox ) findViewById( R.id.repeat_checkbox ); repeatChkBx.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if ( isChecked ) { // perform logic } } }); 

Comme CheckBox (éventuellement) étend View, vous pouvez utiliser un OnClickListener standard pour détecter le moment où CheckBox est effectivement tapé par l’utilisateur (contrairement aux mises à jour de ListView):

 CheckBox repeatChkBx = ( CheckBox ) findViewById( R.id.repeat_checkbox ); repeatChkBx.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if ( ((CheckBox)v).isChecked() ) { // perform logic } } }); 

Essaye ça

 CheckBox checkbox=(CheckBox)findViewById(R.id.checkbox); checkbox.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (checkbox.isChecked()) { //Perform action when you touch on checkbox and it change to selected state } else { //Perform action when you touch on checkbox and it change to unselected state } } });