您的位置:首页 > 移动开发 > Android开发

Android ListView分两列显示(不用自定义Adapter)

2016-07-21 14:05 573 查看

想要实现ListView里有两列内容,在网上查了很多地方都要自定义Adapter,后来终于找到了比较简单的方法!

1、首先,定义列表的item
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="wrap_content">

<TextView
android:id="@+id/tvF"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textSize="@dimen/listtext"
android:textAlignment="center"
/>
<TextView
android:id="@+id/tvS"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:textAlignment="center"
android:textSize="@dimen/listtext"
/>
</LinearLayout>
2、然后是页面的布局,加入listview
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="@dimen/dialog">

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

<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@string/cc"
android:textColor="@color/green" />

<TextView
android:id="@+id/text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@string/area"
android:textColor="@color/green" />
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:baselineAligned="true"
android:orientation="horizontal">
<!--android:baselineAligned="false"-->

<ListView
android:id="@+id/list1"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:layout_weight="1" />

</LinearLayout>

</LinearLayout>


3、将数据和listView绑定
final ListView listView1= (ListView) self.findViewById(R.id.list1);
List<Map<String, Object>> listItems=new ArrayList<Map<String,Object>>();
for (int i = 0; i < mount; i++) {
Map<String, Object> listItem=new HashMap<String,Object>();
listItem.put("header", name[i]);
listItem.put("second", areaString[i]);
listItems.add(listItem);
}

SimpleAdapter simpleAdapter=new SimpleAdapter(this,listItems,R.layout.mylistview,new String[]{"header","second"},new int[]{R.id.tvF,R.id.tvS});
listView1.setAdapter(simpleAdapter);


最后出现的结果如下图所示:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息