ArrayAdapter、SimpleAdapter、BaseAdapter的区别

ArrayAdapter是数组适配器,只能显示一条文本信息。使用时要给出数据源和条目布局。(一般应用于item view模板根元素为TextView的场合,数据集比较简单。)

SimpleAdapter是简单适配器,可以显示负责的信息,它的数据源形式是List>,使用时要给出数据源,条目布局,数据源数据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) {}

你可能感兴趣的:(android)