2011-12-16 75 views
2

如何在活動中的佈局之間切換並根據當前使用的佈局填充字段?Android中的佈局之間有條件地切換

例如,如果有在視圖中的邏輯來加載的圖:如果else碼稱爲視圖從未設置標題的TextView到字符串

if(category == 1){ 
     setContentView(R.layout.layout1); 
    }else{ 
     setContentView(R.layout.layout2); 
    TextView title = (TextView) findViewById(R.id.titleTV); 
     title.setText("myTitle"); 

    } 

如何在兩個視圖之間有條件地完成?

+2

我會經歷兩個活動而不是兩個視圖,但需要更多關於您的場景的信息。 – Blundell 2011-12-17 00:26:44

回答

2

另一種方法是使用Fragment。提到dimitris選項的優點是每個片段都有自己的生命週期,因此您可以將與每個視圖相關的所有代碼委託給它的片段,並保持主要活動的清潔。

要做到這一點,只需在Activity中使用FrameLayout作爲片段的佔位符即可。碎片可以通過使用偵聽器模式與活動進行通信。

1

在你想跨越區別Views翻轉您可以檢查各種可能性,如案例:

  • 通過兼容性庫ViewPager(http://android-developers.blogspot.com/2011/08/水平 - 視圖 - 刷卡與 - viewpager.html)
  • ViewFlipperViewSwitcher(http://developer.android.com/reference/android/widget/ViewFlipper.html,http://developer.android.com/reference/android/widget/ViewSwitcher.html
  • 或者甚至簡單FrameLayout( http://developer.android.com/reference/android/widget/Fr ameLayout.html)

希望這有助於現在!如果你需要任何具體的東西,請拍攝它!

+1

不知道更多的上下文我認爲ViewSwitcher是偉大的。我一直都在使用它,它的超級簡單易用,可以添加動畫。 – sgarman 2011-12-17 00:12:23

0

順便說一句你有沒有考慮過片段。它們旨在處理條件佈局。他們的基本動機是屏幕尺寸等,但他們也可以適合您的問題。

參考: