Adapter 用法总结:

Adapter 用法总结:

 ArrayAdapter,构造方法参数:
  /**
   *  ArrayAdapter<T>(context,resource,List<T> objects) 构造方法:第三个参数还可以是:objects[]
   *  context:  上下文对象
   *  resource:  行布局文件的id
   *  textViewResourceId: 行布局文件可以任意复杂,但是只能指定行布局文件中一个 textView 来设置数据
   *  List<T> objects:   指定行布局文件使用的数据,List
   *  T[] objects: 行布局文件使用的数据,T 类型的数组,数组元素将会被当作 String 来使用(调用  

 *     toString)
   */

  注意:如果构造方法中没有提供行布局文件使用的数据的参数,那么在 listView.setAdapter 之前必须使用
              adapter.add("data0"); 这样的语句来添加数据到adapter。

  如果想使用复杂行布局,则应该自定义类继承ArrayAdapter,重写getView 方法,需要实现构造方法,建议选择
   带有List<T> 或者 T[] 参数的构造方法,不然 listView 设置adapter之前还要向 adapter add 数据。
   可以使用 List + Bundle 来存放数据。如果是json文件,可以直接将 jsonObject 对象作为 List 的
   元素类型。不过这两种方法不如定义一个实体类来封装数据的程序结构好。

 SimpleAdapter:行布局可以支持四种组件:textview,imageview,checkbox,radiobutton
  SimpleAdapter adapter = new SimpleAdapter(
   this, // 上下文对象
   data, // 数据List<Map>
   android.R.layout.simple_list_item_2, // 行布局文件id
   from, // map中的键名的String数组
   to);  // 行布局对象中的view的id,显示相应的map中键名的值
  
  SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this, layout, cursor, from, to, flags);
  
  // 以上两个simpleadapter只支持四种控件:只支持四种控件:TextView, ImageView, RadioButton、CheckBox

 BaseAdapter:可以设计出任意复杂的行布局

posted @ 2014-03-19 22:29  至死不渝  阅读(239)  评论(0编辑  收藏  举报