2010-05-09 7 views
2

J'ai un code pour remplir dynamiquement le contenu des onglets. La première fois ça marche bien, mais quand je veux remplacer les onglets (et leur contenu) par du nouveau contenu - les onglets sont changés mais pas le contenu des onglets, comment puis-je effacer complètement TabHost et le remplacer par un autre contenu?TabHost supprimer toutes les activités de contenu

TabHost tabHost = getTabHost(); 
Intent intent; 
TabHost.TabSpec spec; 

tabHost.setCurrentTab(0); 
tabHost.clearAllTabs(); 

int idx = 0; 
for(Group g: c.getGroups()) 
{ 
      intent = new Intent().setClass(this, GroupActivity.class); 

      ItemLookup.createForGroup(idx).putToIntent(intent); 

      spec = tabHost 
       .newTabSpec("tab"+idx) 
       .setIndicator(g.getTitle()) 
       .setContent(intent); 
      tabHost.addTab(spec); 
      idx++; 
} 
tabHost.setCurrentTab(0); 

Répondre

1

Le problème était de réutiliser les mêmes étiquettes de tabulation pour les nouveaux onglets. I Code changé pour l'utilisation de balises de tabulation au hasard à la place:

Random r = new Random(); 
... 
spec = tabHost 
.newTabSpec("tab"+r.nextInt()) 
    .setIndicator(g.getTitle()) 
    .setContent(intent); 
1

Appel clearAllTabs() sur le TabHost.

+0

Je l'appelle: tabHost.clearAllTabs(); – Solvek

Questions connexes