Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
40 L’art du développement Android
Cases à cocher
La case à cocher classique peut être dans deux états : cochée ou décochée. Un clic sur la
case inverse son état pour indiquer un choix ("Livrer ma commande en urgence", par
exemple). Le widget CheckBox d’Android permet d’obtenir ce comportement. Comme il
dérive de la classe TextView, les propriétés de celles-ci comme android:textColor
permettent également de formater ce widget.
Dans votre code Java, vous pouvez utiliser les méthodes suivantes :
● isChecked() pour savoir si la case est cochée ;
● setChecked() pour forcer la case dans l’état coché ou décoché ;
● toggle() pour inverser l’état de la case, comme si l’utilisateur avait cliqué dessus.
Vous pouvez également enregistrer un objet écouteur (il s’agira, ici, d’une instance
d’OnCheckedChangeListener) pour être prévenu des changements d’état de la case.
Voici la déclaration XML d’une case à cocher, tirée du projet Basic/CheckBox :

android:id="@+id/check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cette case est : decochee" />
Le fichier CheckBoxDemo.java correspondant récupère cette case à cocher et configure
son comportement :
public class CheckBoxDemo extends Activity
implements CompoundButton.OnCheckedChangeListener {
CheckBox cb;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
cb=(CheckBox)findViewById(R.id.check);
cb.setOnCheckedChangeListener(this);
}
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
if (isChecked) {
cb.setText("Cette case est cochee");
}
else {
cb.setText("Cette case est decochee");
}
}
}
Livre Android.book Page 40 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 55/391

Suivant