2012-08-16 47 views
0

我有一個自定義標題欄和我正在使用的TabHost佈局。 TabHost有4個標籤,具有不同的活動。我在標題欄中添加了一個ImageButton,但我只希望它在其中一個活動中處於活動狀態。有人可以告訴我該怎麼做嗎?僅在一個活動中訪問標題欄中的按鈕

此外,如果我在標題欄xml中定義按鈕,那麼可以嗎?

回答

1

想到的一種方法是將監聽器設置爲選項卡按鈕,以便您始終知道您所在的選項卡。如果其正確,則在該按鈕上設置可見性(0),否則設置爲可見性(8)。 雖然可能有更簡單的方法。

+0

你能給我一個樣本代碼片段嗎? – 2012-08-16 16:21:38

+0

這可能不是最理想的方法,但它確實有效! – 2012-08-16 16:25:13

+0

我現在沒有什麼在這裏,檢查此:http://www.androidadb.com/class/android/widget/TabHost/OnTabChangeListener.java.html 你可以聽,如果一個特殊的標籤被擊中,然後設置可見性在按鈕上。 – FWeigl 2012-08-16 16:26:05

1
myTabHost.setOnTabChangedListener(new OnTabChangeListener() { 
    @Override 
    public void onTabChanged(String tabId) { 
    if (tabId =="yourTabId") { 
     yourButton.setVisibility(View.VISIBLE); 
    } 
    else 
    { 
     yourButton.setVisibility(View.INVISIBLE); 
    } 
    } 
}); 
+0

太神奇了:)謝謝!你能不能也請告訴我如何使按鈕調用一個方法在我希望它顯示的標籤中?目前它在標籤初始化的主要活動中調用一個方法。該按鈕的目的是在第二個活動中的兩個視圖之間切換。 – 2012-08-16 16:40:54

+0

絕對受歡迎: - }但是,您可以添加一些代碼,以便我可以瞭解需要發生的事件序列嗎? – 2012-08-16 18:12:42

+0

因此,本質上我有一個ViewSwitcher,裏面有一個ListView和一個MapView(隱藏的MapView)。在按下按鈕時,應該隱藏列表視圖(可能會有一些轉換),並顯示地圖。另外,我想根據顯示的兩個視圖中的哪一個來更改按鈕圖像。 – 2012-08-16 23:44:15

相關問題