2012-03-21 112 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 
}