2011-10-25 238 views
1

我正在開發一個帶有tab主機的示例應用程序,並且我已經實現了它。 這是我的問題?我會逐步描述它。如何以編程方式設置選項卡的位置?

  • 假設有5個標籤,位置爲0,1,2,3,4。當我選擇第四個標籤時,應該在第二個標籤上進行替換。

我該如何克服這個問題?

+1

http://stackoverflow.com/questions/7873522/how-to-get-the-position-of-tab-android/7873643#7873643 – Hades

回答

1

這是兩岸前進,如果我理解你正確

tabHost.setCurrentTab(index) 

>編輯

你可以讓你的標籤的隱形

爲 如果您在位置0想要隱形標籤,然後它如下。

 tabWidget = (TabWidget) findViewById(android.R.id.tabs); 
     tabWidget.getChildTabViewAt(0).setVisibility(View.GONE); 

如果你想使其可見它是遵循

tabWidget.getChildTabViewAt(0).setVisibility(View.VISIBLE); 

,但如果你想刪除舊的標籤,並用新的替換它。然後,我不知道它是可以或不可以

+0

好吧我會同意你的,但我的要求,我是有三個標籤命名爲1,2,3,我想互相替換。 –

+0

可以ü擴大你的答案.. –

0

你應該試試這個:

FrameLayout frame = tabHost.getTabContentView(); 

View view1 = frame.getChildAt(pos1); 
View view2 = frame.getChildAt(pos2); 

frame.removeViewAt(pos1); 
frame.addView(view2, pos1); 

frame.removeViewAt(pos2); 
frame.addView(view1, pos2); 

這應與標籤pos1位置pos2位置 我沒有檢查它切換標籤,但它應該工作:)

+0

sry導致異常... –

+0

當我可以檢查它,我幫你。在這一刻對我來說是不可能的。無論如何,這是一個關於如何解決它的想法。查看ViewGroup的文檔...我希望能幫助你 – vicentazo

+0

當然我會檢查謝謝你的回覆...首先,我的工作很重要.. –

相關問題