2013-08-18 27 views
5

我GOOGLE了這個,但找不到任何解決方案,請幫助。 我已創建具有3個選項卡與Tabhost一個的TabBar視圖,並設置其與標題則tabspec這樣的:在android中更改tabbar的標題

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

我在我的另一選項卡,其是下一個以上標籤2層的按鈕。現在我想要的是,如果我點擊此選項卡中的按鈕,此按鈕的標題必須設置爲我的主頁選項卡的標題。這是在上面的代碼「選定的主題」必須設置爲我的按鈕的標題。

謝謝。

+0

請把你的一些代碼,所以其他可以幫助你。 –

+0

我正在設置上面的代碼標籤的標題,並希望在運行時更改它,同時單擊任何其他選項卡活動中的按鈕。我不太瞭解標籤只是設置他們和他們的標題等等,所以我沒有任何其他代碼可以忍受! – Vish

+0

爲什麼tabhost而不是動作欄選項卡? – 2013-09-01 06:08:22

回答

1

創建一個靜態變量和值「選題」,並在按鈕單擊事件,使按鈕控件作爲統計的variable.Hope價值的財產,這是你的意思。

+0

僅月份標籤欄僅由一個活動創建,每個標籤頁都有自己的活動。現在在我的第二個選項卡的活動中,我有兩個按鈕。我應該如何改變我的「FIRST TAB」的名稱等於點擊的按鈕的名稱。 – Vish

+0

@Vish:首先,你要明白,你的問題無關,與你想要點擊的時候第一個選項卡的名稱更改爲按鈕的名稱,活動或tab.If,嘗試創建一個名爲「MYVARIABLE」字符串變量並將按鈕的文本分配給該變量。在單擊事件中,閱讀該按鈕的文本並確保tbhome.setIndicator(myVariable);已設置。 – Mothy

+0

但是tabActivity如何(首次創建制表符的位置)將再次被調用以設置製表符的名稱!我必須在FIRSTTAB以某種方式設置指示符!這就是真正的問題。 – Vish

2

首先你得到的按鈕,使最終 然後點擊設置其文本

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

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

不,Tabbar僅創建一個活動,每個選項卡都有自己的活動。現在在我的第二個選項卡的活動中,我有兩個按鈕。我應該如何將我的「FIRST TAB」的名稱從第二個選項卡更改爲其他名稱。 – Vish

2

的代碼可以改進,但這務必做好:

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

未經檢驗的,但我嘗試將一個Intent中的新文本從一個活動發送到另一個活動。

也許趕上它與Activity.onNewIntent()