读书人

ListView 初始

发布时间: 2012-09-02 21:00:34 作者: rapoo

ListView 初步

ListView中最主要的是adapter的设置问题,这里简单写了两个Adapter。

第一种ArrayAdapter:


ListView 初始
?

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映射列表。


ListView 初始
?

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>

?

读书人网 >移动开发

热点推荐