2015-05-03 66 views
0

我有一個包含多個小部件的線性佈局。我想用ArrayList填充它。我不想使用listview,因爲它在scrollview中不起作用。如何使用數組列表填充線性佈局?

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:weightSum="10" > 

    <TextView 
     android:id="@+id/xxxx" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="2" 
     android:gravity="top|left" 
     /> 

    <TextView 
     android:id="@+id/tv_xxx" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="4" 
     android:text="jshadb" /> 

    <TextView 
     android:id="@+id/tv_xxx" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="2" 
     android:text="464.89" /> 

    <EditText 
     android:id="@+id/et_xxxx" 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:layout_weight="2" 
     android:hint="" 
     android:ems="10" 
     android:inputType="number" /> 

</LinearLayout> 
+0

;通過使用' –

+0

充氣佈局'LayoutInflater' –

+0

任何例如如何做到這一點。 ....會很有幫助 –

回答

1

下面你應該只遍歷陣列,並且使用`yourLinearLayout.addView(項目)的方式

LayoutInflater linf = (LayoutInflater) getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
linf = LayoutInflater.from(YourActivity.this); 

//Linear Layout on you want to add inflated View 
LinearLayout tbl_layout=(LinearLayout)findViewById(R.id.Layoutid); 

for (int i = 0; i < arrayList.size(); i++) { 

     View v = linf.inflate(R.layout.YourLinearLayout, null);//Pass your lineraLayout 

     ((TextView) v.findViewById(R.id.xxxx)).setText("textS"); 

     tbl_layout.addView(v); 
    }