简单了解Adapter

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


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

系统Adapter的使用

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

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

代码示例:
效果:

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效果:

更多相关文章

  1. Android(安卓)Intent and Intent-filter SDK file
  2. 对Android(安卓)ListView的理解
  3. 浅入浅出Android(017):当前Activity向下一个Activity切换,并传递数据
  4. 页面跳转与传值(Activity跳转与传值)
  5. Android基于DataBinding的一个基础框架
  6. [android] 获取网页中的HTML数据
  7. 使用Android(安卓)Studio进行JNI开发 - Mac篇
  8. 【转】Android上HDMI介绍(基于高通平台)
  9. Android中sqlite之从网上获取数据更新UI

随机推荐

  1. Android Service完全解析
  2. Android中使用【microlog4】进行日志存储
  3. Android(安卓)9.0 (P版本) 原生的电池-Go
  4. 8.11
  5. hi,问一个关于iphone上web file 控件的问
  6. 2017-2018-2 20165218 实验四《Android开
  7. Android中加入依赖库点击运行后报错:com.a
  8. Android中各级目录的作用
  9. android学习笔记之二
  10. Android中LogCat工具的使用