Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 10
Utiliser de jolis widgets et de beaux conteneurs 119
tabs.setCurrentTab(0);
Button btn=(Button)tabs.getCurrentView().findViewById(R.id.buttontab);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
TabHost.TabSpec spec=tabs.newTabSpec("tag1");
spec.setContent(new TabHost.TabContentFactory() {
public View createTabContent(String tag) {
return(new AnalogClock(DynamicTabDemo.this));
}
});
spec.setIndicator("Horloge");
tabs.addTab(spec);
}
});
}
}
On crée un objet TabHost.TabSpec dans la méthode de rappel setOnClickListener()
de notre bouton en lui passant en paramètre une fabrique TabHost.TabContentFactory
anonyme. Cette fabrique, à son tour, renvoie la vue qui sera utilisée pour l’onglet – ici une
horloge analogique. Le code de construction de cette vue pourrait être bien plus élaboré et
utiliser, par exemple, un LayoutInflater pour créer une vue à partir d’un fichier de
description XML.
La Figure 10.7 montre que l’activité n’affiche qu’un seul onglet lorsqu’elle est lancée. La
Figure 10.8 montre plusieurs onglets, créés en cours d’exécution.
Figure 10.7
L’application DynamicTabDemo avec son unique
onglet initial.
Livre Android.book Page 119 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 134/391

Suivant