2010-05-09 2 views
2

동적으로 탭에 내용을 채우는 코드가 있습니다. 처음에는 제대로 작동하지만 탭 (및 해당 콘텐츠)을 새 콘텐츠 (탭이 변경되었지만 탭의 콘텐츠가 아닌)로 대체하려는 경우 TabHost 전체를 완전히 지우고 다른 콘텐츠로 대체하려면 어떻게해야합니까?TabHost는 모든 콘텐츠 활동을 제거합니다.

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); 

답변

1

문제는 새 탭에 동일한 탭 태그를 재사용하는 데있었습니다.

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

TabHostclearAllTabs()으로 전화하십시오.

+0

내가 그것을 전화 : 내가 대신 임의 탭 태그를 사용하여 코드를 변경 tabHost.clearAllTabs를(); – Solvek