Adapter 为什么(要用它)
因为layout有数种布局,很多数据不能直接绑定上去,因此Android引入了Adapter机制,作为复杂数据的展示的转换载体,各种Adapter只是转换的方式和能力不一样。
Adapter常用来管理数据,使数据绑定到控件变得更简单灵活(比如列表的数据,网格的数据),为容器提供子视图,利用视图的数据和元数据来构建每个子视图。
Adapter本身只是一个接口
它派生了ListAdapter、SpinnerAdapter两个子接口。
ListAdapter为AbsListView提供列表项、SpinnerAdapter为AbsSpinnerAdapter提供列表项。
几乎所有的Adapter都继承了BaseAdapter,而BaseAdapter同时实现了ListAdapter和SpinnerAdapter两个接口,因此BSEAdapter及其子类可以同时为ABSListView和AbsSpinner提供列表项。
Adapter常用的实现类如下:
ArrayAdapter:简单、易用的Adapter,常用于将数组或者list集合的多个值包装成多个列表项。
SimpleAdapter:功能强大,用于将 list集合的多个对象包装成多个列表项
SimpleCursorAdapter:与SimpleAdapter基本相似,只能用于包装Cursor提供的数据。
BaseAdapter:通常用于被扩展,扩展BaseAdapter可以对各项列表项进行最大限度的定制
Adapter 怎么用?
(思路)基础的adapter用法比较简单,常见的情况是在基础的adapter上继承写一个新的,然后加入自己需要的功能,譬如列表项要是带图片带勾选按钮的,还要能对点击下拉等等。