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

简单了解Adapter

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

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

系统Adapter的使用

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

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

ArrayAdapter
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基础上增加了图片的适配:

SimpleAdapter
SimpleAdapter的参数说明:
第一个参数:上下文对象
第二个参数:数据源是含有Map的一个集合
第三个参数:每一个item的布局文件
第四个参数:new String[]{}数组,数组的里面的每一项要与第二个参数中的存入map集合的的key值一样,一一对应
第五个参数:new int[]{}数组,数组里面的第三个参数中的item里面的控件id。

代码示例: SimpleAdapter代码示例
效果:
SimpleAdapter效果图

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

该适配器也是系统自带,但是使用方式一般是通过继承该类来实现BaseAdapter的四个方法,相当于自定义。
在这里插入图片描述

需要实现以下四个方法:

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效果:
 BaseAdapter代码示例

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值