2010-08-03 90 views
0

好的,所以我有一個具有選項卡式界面的應用程序。我想知道的是如何在選項卡中更改當前活動的視圖,然後在完成該視圖時,返回原始視圖,就像原來的視圖一樣。在選項卡式應用程序中使用視圖

回答

1

您可能還想使用在xml中定義的ViewFlipper。

<ViewFlipper android:id="@+id/ScreenSwitch" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <element A> 
    <element B> 
    <element C> 
</ViewFlipper> 

用法很簡單,只要找到ViewFlipper對象throught findViewById(),並要求改變:

viewFlipper.setDisplayedChild(idOfViewToSet); 

這則完全取決於你,你如何建立 「標籤」。

+0

對於TabHost上的ViewFlipper +1。 TabHost是邪惡的恕我直言。 – Qberticus 2010-08-03 07:36:26

+0

ViewFlipper非常出色,謝謝你向我介紹這個。 :) – Chiggins 2010-08-04 20:01:52

+0

不客氣。我實際上在我的項目中使用ViewFlipper,即使使用MapView。但是這當然需要一些自己的解決方案,我創建了像View Managers這樣的東西,所以他們會照顧一切,而不是活動:) – LordTwaroog 2010-08-05 08:23:21

0

對於創建視圖,你可能想要的是這樣的:

import android.view.View; 
import android.widget.TabHost; 

public class MyViewController implements TabHost.TabContentFactory 
{ 
    private View myRootView; 

    @Override 
    public View createTabContent(String tag) 
    { 
     if (myRootView == null) 
     { 
      // TODO: Create your view here by... 
      //  1) Constructing it yourself 
      //  2) Inflating a layout.xml with LayoutInflater (better) 
      myRootView = new View(context); 
     } 
     return myRootView; 
    } 
} 

至於編程方式更改標籤,這是因爲你的TabHost調用對象的setCurrentTab()一樣簡單。

相關問題