2013-07-22 118 views
0

我有一些看法在我的活動:Android的更改佈局動態

for(int i=0;i<My_NewsGroup.size();i++) 
    { 
     View My_UpdateView=new View(MainActivity.this); 
     My_UpdateView =LayoutInflater.from(MainActivity.this).inflate(R.layout.row2, null); 
..... 
    } 

現在我想動態改變一些觀點的佈局!

我該怎麼做?

TNX ---------------------------------編輯---------- ---------

LinearLayout ll2 = (LinearLayout)findViewById(R.id.parent2); 
    for(int i=0;i<My_NewsGroup.size();i++) 
    { 
     View My_UpdateView=new View(MainActivity.this); 
     My_UpdateView = LayoutInflater.from(MainActivity.this).inflate(R.layout.row2, null); 

        .... 
        .....   
     RelativeLayout.LayoutParams relativeParams = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT); 

     ll2.addView(My_UpdateView,relativeParams); 

     MyViewList.add(My_UpdateView); 
    } 

MyViewList是:List MyViewList = new ArrayList();

然後!例如,如果我想隱藏一些視圖:

MyViewList.get(pos).setVisibility(View.GONE); 

但現在我想改變一些視圖的佈局!

+0

你是什麼意思的「動態改變一些視圖的佈局」? – kvh

+0

例如將R.layout.row2更改爲R.layout.row3 –

+0

爲什麼要創建一個View然後從資源中充氣? – kvh

回答

0

您不能更改視圖本身並用不同的xml佈局重新填充它。您可以更改視圖的容器內容。從ViewGroup中刪除舊視圖並將其替換爲新視圖。這裏是一個簡單的例子:

FrameLayout somelayout... 
somelayout.removeView(viewYouWantToReplace); 
somelayout.addView(inflator.inflate(R.layout.row2, somelayout, false)); 
+0

我也有查看視圖的容器!我無法刪除所有視圖!我可以刪除指定的視圖並將其替換爲新視圖嗎? –

+0

是的,你可以,但它取決於容器。也許你最好在ViewSwitcher中包裝這些視圖。 – Leonidos