2013-08-18 27 views
5

tabbarının başlığını değiştirme Bunu yaptım ama herhangi bir çözüm bulamadınız lütfen yardım edin. Ben TabHost ile 3 çıkıntılara sahip tabbar görünümü oluşturulur ve bunun gibi TabSpec ile başlığını belirledik:Android

TabSpec tbhome = tabHost.newTabSpec("Home"); 
tbhome.setIndicator("Selected Topic"); 

Yukarıdaki sekmenin yanında bulunan benim başka bir sekmede 2 düğme var. Şimdi istediğim, bu sekmedeki bir düğmeyi tıklarsam, bu düğmenin başlığı ana sayfamın başlığına ayarlanmalıdır. Bu, yukarıdaki kodun üzerinde "Seçilmiş Konu" düğmesinin başlığına ayarlanmalıdır.

Teşekkürler.

+0

ile yakalayın. –

+0

Yukarıdaki kodla sekme başlığını ayarlıyorum ve diğer sekme etkinliklerinden herhangi birindeki düğmeyi tıklatırken çalışma zamanında değiştirmek istiyorum. Sadece onları ve başlıklarını vb. Ayarlama sekmeleri hakkında çok fazla bilmiyorum Bu yüzden koymak için başka bir kod yok! – Vish

+0

Neden tabhost ve action-bar sekmeleri değil? –

cevap

1

Statik değişken ve "Seçili Konu" olarak bir değer oluşturun ve düğme tıklatma etkinliğinde, düğme gerecinin özelliğini statis değişkenindeki değer olarak yapın. Bu, ne demek istediğnizdir.

+0

Hayır Monthy Tabbar, yalnızca bir etkinlikle oluşturulur ve her sekmenin kendi etkinliği vardır. Şimdi ikinci sekmenin aktivitesinde örneğin 2 düğmem var. "FIRST TAB" isminin butona basma ismine eşit olarak nasıl değiştirmeliyim. – Vish

+0

@Vish: Önce sorununun aktivite veya sekme ile ilgisi olmadığını anlamanız gerekir. Eğer İLK SEKME'nin adını tıklatıldığında düğmenin ismine değiştirmek isterseniz, "myVariable" adlı bir dize değişkeni oluşturmaya çalışın ve düğmenin metnini bu değişkene atayın. click olayında, düğmenin metnini okuyun ve tbhome.setIndicator (myVariable); ayarlandı. – Mothy

+0

Ancak sekme adını ayarlamak için tabActivity (sekmeler oluşturulduğunda ilk kez) nasıl çağrılır? FIRSTTAB içinde bir şekilde ayarlamak zorundayım !! Bu gerçek sorun! – Vish

2

ilk düğmeye almak ve tıklama metnini

 final Button bX = (Button) findViewById(R.id.bXX); 
     bX.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
        bX.setText("Selected Topic "); 
      } 
     }); 
+0

Hayır etkinliğini koruyabilirsiniz, Tabbar yalnızca bir etkinlikle oluşturulur ve her sekmenin kendi etkinliği vardır. Şimdi ikinci sekmenin aktivitesinde örneğin 2 düğmem var. "FIRST SEKMESİ" adını ikinci sekmeden başka bir şeye nasıl değiştirmeliyim. – Vish

2

kod rafine edilebilir sette o zaman son yapmak ama bunu sınırlandırmak:

public void onClick(View button) 
{ 
    RelativeLayout tbhome = tabHost.getTabWidget().getChildAt(0); 
    for (int j = 0; j < tbhome.getChildCount(); j++) 
    { 
     if (tbhome.getChildAt(j) instanceof TextView) 
     { 
      ((TextView) tbhome.getChildAt(j)).setText(button.getText()); 
      break; 
     } 
    } 
} 
1

Untested ama ediyorum Bundle'nin yeni bir metnini bir etkinlikten diğerine göndermeyi deneyin.

Belki de bazı kodunuzu başkalarının size yardımcı olabilmesi için lütfen Activity.onNewIntent()