您的位置:首页 > 移动开发 > Android开发

Android Adapter及其子类、接口详解

2015-07-14 17:14 621 查看
本文转自:http://hubingforever.blog.163.com/blog/static/17104057920104316549759/ 感觉介绍的还是挺详细的。每个接口都有连接,连接也是作者写的。



Android为我们提供了android.widget.Adapter和android.widget.ExpandableListAdapter两大类数据适配器接口。
android.widget.ExpandableListAdapter接口主要和android.widget.ExpandableListView配合使用
而android.widget.Adapter接口主要和android.widget.AdapterView中android.widget.ExpandableListView之除外的其他类配合使用。

以下是Adapter接口及子接口和实现类的关系图
图1:




public interface Adapter

Adapter是绑定 Data和AdapterView 的适配器

实现Adapter的直接接口有:ListAdapter和 SpinnerAdapter

更多可参考《Adapter接口

一、ListAdapter

ListAdapter是绑定 Data和Listview的适配器。但是,它是接口,需要实现。

实现了ListAdapter的接口有:

WrapperListAdapter

实现ListAdapter的类:

BaseAdapter

ArrayAdapter<T>

CursorAdapter

ResourceCursorAdapter

SimpleCursorAdapter


SimpleAdapter

HeaderViewListAdapter (extends Object)(implements WrapperListAdapter)

常见的有:arrayAdapter,SimpleAdapter ,CursorAdapter。

ListAdapter经常和ListView一起使用,具体可参考《ListActivity 和ListView 》

二、SpinnerAdapter

SpinnerAdapter是绑定 Data和Spinner的适配器.

它只申明了一个方法:

abstract View

getDropDownView(int position, View convertView, ViewGroup parent) Get a View that displays in the drop down popup the data at the specified position in the data set.

实现了SpinnerAdapter的类:

BaseAdapter

ArrayAdapter

CursorAdapter

ResourceCursorAdapter

SimpleCursorAdapter

SimpleAdapter

实现了SpinnerAdapter的接口:



更多可参考《SpinnerAdapter
三、BaseAdapte

关于BaseAdapte请参考《BaseAdapter
四、ArrayAdapter

ArrayAdapter(数组适配器)的作用就是一个数组和listview之间的桥梁,它可以将数组里边定义的数据一一对应的显示在Listview里边。

ListView的每个 TextView里边显示的内容就是数组里边的对象调用toString()方法后生成的字符串。

更多请参考《ArrayAdapter

五、SimpleAdapter

SimpleAdapter是ArrayList和 ListView的桥梁。这个ArrayList里边的每一项都是一个Map<String,?>类型。

ArrayList当中的每一项 Map对象都和ListView里边的每一项进行数据绑定一一对应。

更多请参考《SimpleAdapter
六、CursorAdapter

CursorAdapter是个虚类,继承于BaseAdapter。

它有两个虚方法newView和bindView

直接子类只有ResourceCursorAdapter

间接子类只有SimpleCursorAdapter(它继承于ResourceCursorAdapter)。

更多请参考《CursorAdapter

七、ResourceCursorAdapter

ResourceCursorAdapter是个虚类,它继承于CursorAdapter。

它实现了newView,但仍然没有实现bindView

直接子类只有SimpleCursorAdapter,无间接子类。

更多请参考《ResourceCursorAdapter

八、SimpleCursorAdapter

SimpleCursorAdapter继承于CursorAdapter。它不是虚类,已经实现了bindView。

更多请参考《SimpleCursorAdapter
九、WrapperListAdapter

WrapperListAdapter 扩展了ListAdapter接口

实现了WrapperListAdapter接口的类只有:HeaderViewListAdapter

WrapperListAdapter只声明了一个方法:

public abstract ListAdapter getWrappedAdapter ()

十、HeaderViewListAdapter

HeaderViewListAdapter实现了WrapperListAdapter接口,并实现了getWrappedAdapter方法。

更多请参考《HeaderViewListAdapter
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: