J'ai une activité qui a un TabHost contenant un ensemble de TabSpecs, chacun avec une liste contenant les éléments à afficher par l'onglet. Lorsque chaque TabSpec est créé, je définis une icône à afficher dans l'en-tête de l'onglet.Mise à jour des icônes des onglets Android
Les TabSpecs sont créés de cette manière dans une méthode setupTabs()
qui boucle pour créer le nombre approprié d'onglets:
TabSpec ts = mTabs.newTabSpec("tab");
ts.setIndicator("TabTitle", iconResource);
ts.setContent(new TabHost.TabContentFactory(
{
public View createTabContent(String tag)
{
...
}
});
mTabs.addTab(ts);
Il y a des cas de couples où je veux être en mesure de changer l'icône qui apparaît dans chaque onglet pendant l'exécution de mon programme. Actuellement, je supprime tous les onglets et j'appelle à nouveau le code ci-dessus pour les recréer.
mTabs.getTabWidget().removeAllViews();
mTabs.clearAllTabs(true);
setupTabs();
est-il un moyen de remplacer l'icône qui est affichée sans supprimer et recréer tous les onglets?
Amélioration mineure - utilisation: TabWidget.getChildTabViewAt (..) au lieu de getChildAt (...) – tonys