Android 开发:(八)数据适配器 Adapter 篇

简单了解Adapter

一般在ListView和 GridView中用于数据的适配与处理。有点像iOS中tableview和collectionview的cell。

Android 开发:(八)数据适配器 Adapter 篇_第1张图片
如上图,Adapter相当于是数据与ListView和GridView的中间桥梁,数据源的形式不同就要求ListView和GridView所展示数据的格式也不同,可以使用系统自带适配器,如ArrayAdapter、SimpleAdapter直接适配数据,也可以继承与BaseAdapter自定义复杂的数据源。
数据适配器正是建立了数据源与ListView和GridView之间的适配关系,将数据源转换为ListView和GridView能够显示的数据格式,从而将数据的来源与数据的显示进行解耦,降低程序的耦合性。

系统Adapter的使用

Android自带的Adapter有很多的接口、抽象类、子类可以使用,常用的有:ArrayAdapter、SimpleAdapter、BaseAdapter。

1. ArrayAdapter:这个适配器使用有一定的局限性,只能显示一行文本数据:

Android 开发:(八)数据适配器 Adapter 篇_第2张图片
ArrayAdapter的参数说明:
第一个参数:context上下文对象
第二个参数:每一个item的样式,可以使用系统提供,也可以自定义就是一个TextView
第三个参数:数据源,要显示的数据

系统提供的item的样式:
simple_list_item1:单独的一行文本框
simple_list_item2:有两个文本框组成
simple_list_item_checked:每项都是由一个已选中的列表项
simple_list_item_multiple_choice:都带有一个复选框
simple_list_item_single_choice:都带有一个单选框

这个比较简单,就是显示纯文本,没有图片。

2. SimpleAdapter:在ArrayAdapter基础上增加了图片的适配:

Android 开发:(八)数据适配器 Adapter 篇_第3张图片
SimpleAdapter的参数说明:
第一个参数:上下文对象
第二个参数:数据源是含有Map的一个集合
第三个参数:每一个item的布局文件
第四个参数:new String[]{}数组,数组的里面的每一项要与第二个参数中的存入map集合的的key值一样,一一对应
第五个参数:new int[]{}数组,数组里面的第三个参数中的item里面的控件id。

代码示例: Android 开发:(八)数据适配器 Adapter 篇_第4张图片
效果:
Android 开发:(八)数据适配器 Adapter 篇_第5张图片

BaseAdapter的使用

1. BaseAdapter: 常用,兼容上述两种模式。

该适配器也是系统自带,但是使用方式一般是通过继承该类来实现BaseAdapter的四个方法,相当于自定义。
Android 开发:(八)数据适配器 Adapter 篇_第6张图片

需要实现以下四个方法:

1. public int getCount(): 适配器中数据集的数据个数;
2. public Object getItem(int position): 获取数据集中与索引对应的数据项;
3. public long getItemId(int position): 获取指定行对应的ID
4. public View getView(int position,View convertView,ViewGroup parent): 获取每一行Item的显示内容。

代码示例实现上述SimpleAdapter效果:
Android 开发:(八)数据适配器 Adapter 篇_第7张图片

你可能感兴趣的:(Android,入门篇,Android,学习之路,-,入门篇)