2013-04-25 74 views
0

我正在製作一個應用程序,其中有一個微調器,您可以在其中選擇4個選項中的1個。我希望它如果你點擊選項一個圖像佈局下面繪製,如果你選擇選項巴不同的佈局繪製,我已經嘗試將佈局設置爲不可見,使得當你選擇一個主題,佈局變得可見但問題是,當我需要一個佈局消失它不如何更改顯示哪個佈局

這裏是我的代碼,這個代碼只是讓同時出現時,我選擇了從旋轉選項

if (pos == 1){ 

      cooldown.setVisibility(0); 
      warmup.setVisibility(1); 

     }else if (pos == 2){ 
      cooldown.setVisibility(1); 
      warmup.setVisibility(0); 
     } 

我覺得setvisibility是死衚衕

+0

你只是改變形象? – codeMagic 2013-04-25 02:10:00

+0

您應該爲您的微調器中的每個選項使用一項活動。 – Tom 2013-04-25 02:10:23

+1

或使用4個片段的一個活動並使用LayoutInflater – Tom 2013-04-25 02:11:50

回答

1

那些不是visibility的正確常數。嘗試代替

if (pos == 1){ 

     cooldown.setVisibility(View.VISIBLE); 
     warmup.setVisibility(View.INVISIBLE); 

    }else if (pos == 2){ 
     cooldown.setVisibility(View.INVISIBLE); 
     warmup.setVisibility(View.VISIBLE); 
    } 

Visibility

如果這些單個圖像,那麼這是你想怎麼辦呢。如果他們是完全Layouts許多Views那麼你可能要考慮使用Fragments

2

setVisibility()參數不應該被硬編碼的0或1,有該常數。 VISIBLE是0,INVISIBLE是4,GONE是8.傳入1不做任何事情。 See here.

在你的情況,你應該使用VISIBLEGONE因爲INVISIBLE仍將採取佈局空間。

0

我認爲你應該使用可見,不可見GONE而不是數量