ArrayAdapter是数组适配器,只能显示一条文本信息。使用时要给出数据源和条目布局。(一般应用于item view模板根元素为TextView的场合,数据集比较简单。)
SimpleAdapter是简单适配器,可以显示负责的信息,它的数据源形式是List<Map<Sting,?>>,使用时要给出数据源,条目布局,数据源数据Map的键数组和对应的条目布局控件id数组。
SimpleCursorAdapter是简单游标适配器,数据源是数据库信息时使用。
BaseAdapter是一个基类,我们在自定义适配器是要继承这个类,并且实现4个抽象方法。
共性:将数据构建成item,交给AdapterView(例如ListView)来显示。
思考:
1.为什么listView关联Adapter对象时,使用以上三种Adapter都可以?
listview关联adapter时调用的是setAdapter(ListAdapter adapter)方法,而以上三种Adapter都直接或间接地实现了ListAdapter接口,在这里相当于父类引用指向子类对象,运用了面向对象的继承及多态特性。
2.ListView 关联Adapter的目的是什么?
ListView借助Adapter将数据构建成Item,然后以列表的形式显示Item.
3.对于以上这些Adapter是借助什么方法构建的Item对象呢?
借助Adpater中的getView方法,此方法每显示一个Item就会调用一次。
@Override
public View getView(int position, View convertView, ViewGroup parent) {}
网友评论