摘自:http://www.cnblogs.com/devinzhang/archive/2012/01/20/2328334.html
先在activity_main.xml中添加一个ListView,
如下:
<span style="font-family:Microsoft YaHei;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<ListView android:id="@+id/list_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"></ListView>
</RelativeLayout>
</span>
接下来,需要自己写一个样式文件,定义每一项item的布局
如下:vlist.xml
<span style="font-family:Microsoft YaHei;"><?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="horizontal" >
<ImageView android:id="@+id/img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5px"/>
<LinearLayout android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFFFF"
android:textSize="22sp"/>
<TextView android:id="@+id/info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFFFF"
android:textSize="12sp"/>
</LinearLayout>
</LinearLayout>
</span>
接下来,是主程序:
<span style="font-family:Microsoft YaHei;">package com.example.simpleadaptertest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class MainActivity extends Activity {
private ListView listView;
private SimpleAdapter simpleAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView)findViewById(R.id.list_view);
//一共5个参数
<span style="color:#ff0000;">//第一个参数:所在的activity
//第二个参数:所要存放的数据
//第三个参数:item的样式文件
//第四个参数:Map的键
//第五个参数: Map对象key对应的资源,也是layout中的各个控件的id,顺序要与第4个参数的顺序对应</span>
simpleAdapter = new SimpleAdapter(
MainActivity.this,
getData(),
R.layout.vlist,
new String[]{"img","title","info"},
new int[]{R.id.img,R.id.title,R.id.info});
listView.setAdapter(simpleAdapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
private List<Map<String,Object>> getData(){
List<Map<String,Object>> list = new ArrayList<Map<String, Object>>();
Map<String,Object> map = new HashMap<String, Object>();
map.put("img",R.drawable.a);
map.put("title", "title 1");
map.put("info", "info 1");
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.a);
map.put("title", "title 2");
map.put("info", "info 2");
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.a);
map.put("title", "title 3");
map.put("info", "info 3");
list.add(map);
return list;
}
}
</span>