2012-03-21 64 views
1

假設我有一個帶有一些元素的LinearLayout作爲一個.xml文件。 在Java中,我需要以某種方式將它「克隆」到數組中,編輯它的一些子元素,然後遍歷數組,將每個LinearLayout添加到我的主視圖中。在android中動態克隆LinearLayout?

你認爲將這個佈局從xml文件「克隆」到java數組元素中的正確方法是什麼?

謝謝!

回答

2
LayoutInflater vi = (LayoutInflater) myContext 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
v = vi.inflate(R.layout.yourLayoutId, null); 

你可以做一些這樣的事膨脹的觀點,然後修改iside使用findViewById方法視圖中的元素。希望這將有助於

+0

謝謝!還有一件事,我如何解決一個新克隆元素的孩子? – 2012-03-21 17:34:08

+0

好v.findViewById(R.id.yourChildId)這會給你子引用 – Triode 2012-03-21 17:37:41

+2

是否可以克隆一個沒有xml文件編程創建的視圖?使用LayoutInflator? – 2014-10-25 16:06:09

1

事情是這樣的:

.... 
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
LinearLayout layout = null; 
for(....) { 
    layout = (LinearLayout) inflater.inflate(R.layout.YOUR_LAYOUT_ID, null); 
    someList.add(layout); 
} 
..... 
1

嘗試在一個變量中獲得的佈局:

for (int c=0; c < count; c++) 
{ 
    LinearLayout layout = (LinearLayout) findViewById(R.id.yourmainlayout); 
    // do something with layout 
    // assign layout to a variable or add it on another layout 
}