2010-02-18 29 views
5

Uygulamamda üç sekme var. Bir Sekme altındaki bir etkinlikte, mevcut başka bir Sekmenin başlığını değiştirmek istiyorum. Bu, sekmeleri Sekme'ye eklerken sağladığımız başlıktır.Sekme Başlığı Dinamik olarak nasıl değiştirilir

Örnek: TabHost.addTab (tabHost.newTabSpec ("Tab2")) setIndicator ("dinamik değiştirilmesi gereken") setContent .... Yukarıdaki örnekte

, başlığını.. setIndicator() altında sağladığım tab2, dinamik olarak değiştirilmelidir.

Bunu gerçekleştirmenin bir yolu var mı.

cevap

3

Göstergeyi String olarak ayarlamak yerine, kullanılacak View ayarını yaptığınız birini kullanın. Daha sonra, bu View'u (ör., Bir TextView) üzerine alabilir ve içeriğini gerektiği gibi değiştirebilirsiniz.

7

Daha temiz bir yöntem bulamazsanız, TabWidget'un kendisine erişebilirsiniz. TabWidget'da bulunan her bir sekmenizde ImageView ve TextView adreslerinin yer aldığı göreli yerleşimler vardır. doğrudan 0 dizininde sekmede TextView erişmek için bunu yapabilirsiniz:

mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title); 

Sonra sadece bir TextView olarak döküm ve düzenleyebilirsiniz ancak istediğiniz. Aşağıda benim için çalıştı:

((TextView)mTabHost.getTabWidget().getChildAt(0).findViewById(android.R.id.title)).setText("New"); 
-1

Sen ICS için artık "TabHost" kullanmamalısınız, bu ... Eğer "İşlem Çubuğu" gerek yerine sürümünde 13. önerilmemektedir olmuştur

Tab mTab = super.getSupportActionBar().getTabAt(0); 
mTab.setText("new Title"); 

Android hemen sekmeyi yenileyecek

+0

TabHost kullanımdan kaldırılmamış! bunun nerden geliyorsun? – AsafK

İlgili konular