2012-04-20 48 views
0

我创建了一个简单的UI,并通过id mainContainer2进行设置。 我想知道,如果这样的事情是可能再使用它在循环中例如Android:创建UI组件并以编程方式重用它

<LinearLayout 
    android:id="@+id/mainContainer2" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Large Text" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <ImageView 
     android:id="@+id/imageView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginLeft="10dp" 
     android:src="@drawable/ic_launcher" /> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 

     <TextView 
      android:id="@+id/textView2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Medium Text" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 

     <TextView 
      android:id="@+id/textView3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Medium Text" 
      android:textAppearance="?android:attr/textAppearanceMedium" /> 
    </LinearLayout> 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 
</LinearLayout> 

LinearLayout mainContainer = new LinearLayout(this); 
mainContainer.setOrientation(LinearLayout.VERTICAL); 

TextView textoqualquer = new TextView(this); 
textoqualquer.setText("textoqualquer"); 
mainContainer.addView(textoqualquer); 

LinearLayout maincontainer = new LinearLayout(this); 
maincontainer.setOrientation(LinearLayout.VERTICAL); 
maincontainer.findViewById(R.id.mainContainer2); 



mainContainer.addView(maincontainer); 

setContentView(mainContainer); 

回答

0

林不知道你在问什么。但是你可以使用相同的XML UI由地方只充气像

LayoutInflater mInflater = LayoutInflater.from(context); 
LinearLayout yourLayout = (LinearLayout)mInflater.inflate(R.layout.your_layout, null); 

然后你可以使用在以往任何时候所需要的布局需要。 此外,在XML文件中,你可以通过使用了“包括”或“合并”标签 重用另一个XML布局像

<include layout="@layout/okcancelbar_button"/> 
0

我认为你可以在这种情况下使用吹气布局。使用

LinearLayout headerView =(LinearLayout)View.inflate(this,R.layout.layout_name,null);

这会给你一个完整的父布局你布局,然后你可以重复使用您的完整视图或使用

的view_type my_view =(view_type的)headerview.findviewbyid重复使用图的一部分(R.id.view_name )

相关问题