ListView 初步
ListView中最主要的是adapter的设置问题,这里简单写了两个Adapter。
第一种ArrayAdapter:

?
private static String[] data1={"a","b","c","d"};private List data2=null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ListView listview=new ListView(this); ArrayAdapter adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,data); setContentView(listview);其中样式?每条数据样式可自己定义,或使用系统自带的样式,如android.R.layout.simple_list_item_1。
如一行有多条数据,采用第二种SimpleAdapter:
先将数据放到 ArrayList<Map<String,Object>>中去,每条记录都是一个Map映射列表。

?
data2=new ArrayList<Map<String,Object>>();Map<String, Object> item;item=new HashMap<String,Object>();item.put("姓名","张三");item.put("性别","男");data2.add(item);item=new HashMap<String,Object>();item.put("姓名","李四");item.put("性别","男");data2.add(item);item=new HashMap<String,Object>();item.put("姓名","小王");item.put("性别","女");data2.add(item);SimpleAdapter adapter=new SimpleAdapter(this, data2, R.layout.listitem, new String[]{"姓名", "性别"},new int[]{R.id.mview1,R.id.mview2}); listview.setAdapter(adapter); setContentView(listview);?SimpleAdapter的构造函数最后两个参数,一个是String数组,里面每个字符串用于访问得到Map对象中的值。item.get("姓名");最后一个参数数组里的值为xml中两个TextView的ID。
其中list选项的样式可自己定义
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="fill_parent"><TextView android:id="@+id/mview1" android:layout_width="wrap_content"android:layout_height="wrap_content" android:width="300dp"></TextView><TextView android:id="@+id/mview2" android:layout_width="wrap_content"android:layout_height="wrap_content"></TextView></LinearLayout>
?