Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
26 L’art du développement Android
Pour rester simple, nous voulons capturer tous les clics de bouton dans l’activité ellemême : c’est la raison pour laquelle la classe de notre activité implémente également
OnClickListener.
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
btn = new Button(this);
btn.setOnClickListener(this);
updateTime();
setContentView(btn);
}
La méthode onCreate() est appelée lorsque l’activité est lancée. La première chose à
faire est d’établir un chaînage vers la superclasse afin de réaliser l’initialisation de l’activité Android de base.
Nous créons ensuite l’instance du bouton (avec new Button(this)) et demandons
d’envoyer tous les clics sur ce bouton à l’instance de l’activité (avec setOnClickListener()). Nous appelons ensuite la méthode privée updateTime() (qui sera présentée
plus loin), puis nous configurons la vue du contenu de l’activité pour que ce soit le bouton
lui-même (avec setContentView()).
Tous les widgets dérivent de la classe de base View. Bien que l’on construise généralement l’interface graphique à partir d’une hiérarchie de vues, nous n’utiliserons
ici qu’une seule vue.
Nous présenterons ce Bundle icicle magique au Chapitre 16. Pour l’instant, considérons-le comme un gestionnaire opaque, que toutes les activités reçoivent lors de leur création.
public void onClick(View view) {
updateTime();
}
Avec Swing, un clic sur un JButton déclenche un ActionEvent qui est transmis à
l’ActionListener configuré pour ce bouton. Avec Android, en revanche, un clic sur un
bouton provoque l’appel de la méthode onClick() sur l’instance OnClickListener
configurée pour le bouton. L’écouteur reçoit la vue qui a déclenché le clic (ici, il s’agit du
bouton). Dans notre cas, nous nous contentons d’appeler la méthode privée updateTime() :
private void updateTime() {
btn.setText(new Date().toString());
}
In fo
Livre Android.book Page 26 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 41/391

Suivant