我想在列表视图中显示三种不同的数据。如何创建三个列表视图以及如何通过Iconic Adapter在java代码中实现。
答案 0 :(得分:0)
我这样做了
ArrayList<Object> routeList = getWmRoute();
ArrayList<HashMap<String,String>> alist=new ArrayList<HashMap<String,String>>();
for(int i = 0; i<routeList.size();i++){
HashMap<String, String> map = new HashMap<String, String>();
map.put("RetailerCode", ((WMRoute) routeList.get(i)).getDescription());
map.put("RetailerName", ((WMRoute) routeList.get(i)).getBusinessUnit());
alist.add(map);
}
ListView list= getListView();
sd = new SimpleAdapter(this,alist,R.layout.retalier_rows,new String[]{"RetailerCode","RetailerName"},new int[]{R.id.retailerCode,R.id.retailerName});
list.setAdapter(sd);
list.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
list.setSelected(true);
list.setSelection(0);
list.setTextFilterEnabled(true);
list.setItemsCanFocus(true);
list.setTextFilterEnabled(true);
list.setItemChecked(positions,true);
和您的xml文件创建(retalier_rows.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView android:text="RetailerCode"
android:id="@+id/retailerCode"
android:layout_width="125dp"
android:layout_height="35dp">
<TextView android:text="RetailerName"
android:layout_width="125dp"
android:layout_height="35dp"
android:id="@+id/retailerName"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/retailerCode"
android:layout_marginLeft="15dp"
android:layout_alignParentRight="true"></TextView>
如果您需要3列,可以添加新的&amp;代码也可以指定