2012-04-20 57 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 )

相關問題