2011-08-20 81 views
1

我有一個列表視圖和以下行模板。Android ListView來自陣列的多列

<?xml version="1.0" encoding="utf-8"?> 
<!-- row.xml --> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:layout_height="wrap_content" 
    android:orientation="horizontal"> 
    <RelativeLayout android:clickable="true" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" 
     android:background="@drawable/android_btn_large" android:gravity="center_vertical" 
     android:layout_weight="1"> 
     <TextView android:id="@+id/txtLeftButton" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:layout_toRightOf="@+id/imgLeftButton" 
      android:text="Riverside Park" android:textColor="#FFFFFF" 
      android:layout_alignParentLeft="true"></TextView> 
     <ImageView android:id="@id/imgLeftButton" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:layout_toLeftOf="@id/txtLeftButton" 
      android:layout_alignParentLeft="true" android:layout_centerVertical="true" 
      android:layout_alignParentRight="true" android:src="@drawable/plus_icon_480"> 
     </ImageView> 
    </RelativeLayout> 
    <RelativeLayout android:clickable="true" 
     android:layout_width="wrap_content" android:layout_height="wrap_content" 
     android:background="@drawable/android_btn_large" android:gravity="center_vertical" 
     android:layout_weight="1"> 
     <TextView android:id="@+id/txtRightButton" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:layout_toRightOf="@+id/imgRightButton" 
      android:text="Riverside Park" android:textColor="#FFFFFF" 
      android:layout_alignParentLeft="true"></TextView> 
     <ImageView android:id="@id/imgRightButton" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" android:layout_toLeftOf="@id/txtRightButton" 
      android:layout_alignParentLeft="true" android:layout_centerVertical="true" 
      android:layout_alignParentRight="true" android:src="@drawable/plus_icon_480"> 
     </ImageView> 
    </RelativeLayout> 
</LinearLayout> 

並將數據存儲在列表爲...

List<String[]> rows = new ArrayList<String[]>(); 
rows.add(new String[] { "id", "name" }); 

我想知道我適配器應該用這些行假設以填補ListView的我需要兩列數據在單行中?

回答

0

您可以在類中實現ListViewAdapter接口並在getView方法中擴充row-xml。您可以使用簡單的LinearLayout和其中的列表視圖進行常規活動。

+0

列表示例代碼weould've得到一個+1 – Webnet

1

只需使用一個SimpleAdapter與HashMap的

ListView list = (ListView) findViewById(R.id.ListView01); 

ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); 

HashMap<String, String> map = new HashMap<String, String>(); 
map.put("id", "1"); 
map.put("name", "bob"); 
mylist.add(map); 

//Each row is a new hashmap 
map = new HashMap<String, String>();   
map.put("id", "2"); 
map.put("name", "sally"); 
mylist.add(map); 

//ect... 

mSchedule = new SimpleAdapter(this, mylist, R.layout.listrow, 
      new String[] {"id", "name"}, new int[] {R.id.txtID, R.id.txtName}); 
list.setAdapter(mSchedule) 
+0

我的意思是從行收集2行必須在一個ListView中的行來填充。 – Neutralizer

+0

假設我無法更改集合或行。 – Neutralizer

+0

我不確定我是否理解,我發佈的方法將2列(或更多)數據列放在一行中 – MrZander