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 pouvais tout simplement double-cliquer et tout le code serait fait pour moi. Mais sous Android, cela semble un peu plus obscur. J'ai pensé utiliser les gestionnaires d'événements tactiles, mais si l'utilisateur dispose d'un clavier, il ne détectera pas le changement, car ce n'est pas tactile. Je suppose que Android devrait avoir un événement natif pour le changement d'état de 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
}
}
});
Etant donné que CheckBox (éventuellement) étend la vue, vous pouvez utiliser un OnClickListener standard pour détecter le moment où l'utilisateur clique sur le CheckBox (par opposition 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
}
}
});
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
}
}
});