先上代码:
public class MyListActivity extends ListActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//首先建立一个ArrayList,参数指的是ArrayList中的数据类型
ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();
//实例化三个HashMap,hashmap是一种特殊的map,由一一对应的key和value<即键值对>构成
//这里的map的key和value的数据类型都是String
HashMap<String, String> map1 = new HashMap<String, String>();
HashMap<String, String> map2 = new HashMap<String, String>();
HashMap<String, String> map3 = new HashMap<String, String>();
//使用put方法把键值对加入hashmap里面
map1.put("id", "1");
map1.put("name", "jack");
map1.put("gender", "male");
map2.put("id", "2");
map2.put("name", "tom");
map2.put("gender", "male");
map3.put("id", "3");
map3.put("name", "kate");
map3.put("gender", "female");
//使用put方法把hashmap加到arraylist里面
list.add(map1);
list.add(map2);
list.add(map3);
/*
* 实例化一个SimpleAdapter,adapter是view和data之间的一个桥梁,把数据以一定的方式显示出来,
* 1.R.layout.user可以看作是数据在每一行中的布局
* 2.new String[]{"id","name","gender"}是每一列的名字,代表需要被显示的data
* 3.new int[]{R.id.id,R.id.name,R.id.gender})是一组textview,3中每组数据显示在哪里,
* 按照顺序一一对应
*/
SimpleAdapter adapter = new SimpleAdapter(this, list, R.layout.user,
new String[]{"id","name","gender"}, new int[]{R.id.id,R.id.name,R.id.gender});
//设置adpter
setListAdapter(adapter);
}
}
最后的运行结果: