Android中ListView控件的使用

ListView要正常显示需要三个元素

1. 用来显示数据的 ListView 控件
2. 用来显示的数据 data
3. 用来将数据和 ListView 绑定的 ListAdapter

常见ListView风格

Android.R.layout.simple_list_item_1:每一项只有一个TextView
Android.R.layout.simple_list_item_2:每一项有两个TextView,id分别为text1和text2
Android.R.layout.simpte.list_item_single_choice,每一项有一个TextView,但是这一项可以被选中。

常见的ListAdapter子类

1. ArrayAdapter
使用一个数组来存储数据,实际显示数组项中toString()方法获得字符串。

ListView listview=new ListView(this);
  1. // 构造一个listview对象
  2. String[] data = {"item1","item2","item3"};
  3. // 构造一个数组对象,也就是数据
  4. listview.setAdapter(new ArrayAdapter(this,android.R.layout.simple_list_item_1, data));
  5. //构造一个array适配器,然后listview对象通过setAdapter方法调用适配器来和自己绑定数据
  6. setContentView(listview);

2. SimpleAdapter 派生的 SimpleCursorAdapter 和Sqlite数据绑定
一般用在 Android.R.layout.simple_list_item_2 一行数据有两行数据项的列表
SimpleAdapter需要传入一个数组列表和两个数组,其中数组列表用来存放实际数据,其中每一项为一个map,使用key=value方式存放数据。 两个数组一个为待显示的key名称,另外一个为显示数据的控件id

// 构造数据部分
  1.     List<map>&gt; data = new ArrayList</map><map>&gt;();
  2.     Map item;
  3.  
  4.     item = new HashMap();
  5.     item.put("name","张三");
  6.     item.put("sex","男");
  7.     data.add(item);
  8.  
  9.     item = new HashMap();
  10.     item.put(“name”,”李四”);
  11.     item.put(“sex”,”女”);
  12.  
  13.     data.add(item);
  14.  
  15.     //构造listview对象
  16.     ListView listview= new ListView(this);
  17.  
  18.     /*构造一个适配器。
  19.     *    1,第三个参数是说明用的是系统默认的布局data,android.R.layout.simple_list_item_2
  20.     *    2,第四和第五个参数一起理解:
  21.     *          把我们添加数据时姓名那一列对应到android.R.id.text1这个TextView中,把性别对应到android.R.id.text2这个TextView中。
  22.     */
  23.     SimpleAdapter adapter = new SimpleAdapter(this,
  24.         data,
  25.         android.R.layout.simple_list_item_2,
  26.         new String[]{"name","sex"},
  27.         new int[]{android.id.text1,android.R.id.text2});
  28.  
  29.     // 设置显示
  30.     listview.setAdapter(adapter);
  31.     setContentView(listview);
  32. </map>

Popularity: unranked [?]

Related

Comments

Leave a Reply