Adapter及其一些例子
2014-06-03 16:28
204 查看
为了更好的理解Adapter我们这里先看一下接口的关系图
![](http://img.blog.csdn.net/20140603143407625?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
我们主要讲解就是BaseAdapter因为它同时继承了ListAdapter与spinnerAdapter,而且绝大部分的Adapter都继承它。
Adapter的实现类如下:
ArrayAdapter:简单.易用的Adapter,通常用于将数组或List集合的多少值包装成列表。
SimpleAdapter:并不简单.功能强大的Adapter,可用于将list集合的多少对象把装成多个列表项。
SimpleCursorAdapter:与SimpleAdapter基本相似,只适用于包装Cursor提供的数据。
BaseAdapter:通常用于被扩展。扩展BaseAdapter可以对各个表项进行最大限度的定制。
下面介绍一下ArrayAdapter来实现的ListView。
![](http://img.blog.csdn.net/20140603144400031?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这里面的R.layout.array_item的布局如下,另外R.layout。checked_item也类似里面是一个CheckTextview就不做演示。
![](http://img.blog.csdn.net/20140603144709843?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
最后来一张结果图
![](http://img.blog.csdn.net/20140603145408187?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
接下来介绍一下SimpleAdapter创建ListView,上面的ArrayAdapter功能有限,它的列表只能是TextView,而SimpleAdapter 的功能就比较强大了
![](http://img.blog.csdn.net/20140603151655187?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140603152045984?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140603152212359?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140603152230812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140603160711343?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
上面就是item
结果图:
![](http://img.blog.csdn.net/20140603152501687?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
这里面的关键在于创建SimpleAdapter,它需要5个参数,其中后面四个参数很重要,这里我分别介绍一下:
第二个参数:这个参数是一个List<?extendsMap<string,?>>类型的集合对象,这个集合中每个Map<String,?>对象生成一个列表项。
第三个参数:这个参数指定一个界面布局的ID。比如此处指定了R.layout.simple_iteam,这意味着使用这个布局作为列表项组件。
第四项参数:这个参数是一个String【】类型的参数,这个参数提取Map<String,?>对象中哪些key对应的value来生成列表项。
第五个参数:这个参数是一个int【】类型的参数,这个参数决定填充哪些组件。
其实仔细发现这两个是差不多的 只是插入的类型一个单一化,另一个多元化。
SimpleCursonAdapter与上面的SimpleAdapter基本相同这里就不做介绍。最后我们介绍一下
BaseAdapter
![](http://img.blog.csdn.net/20140603162312546?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
![](http://img.blog.csdn.net/20140603162332828?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2x1aW5n/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
布局的话只有一个ListView故在此不做列出代码。
这里的话基本已介绍完成,希望对大家有所帮助
我们主要讲解就是BaseAdapter因为它同时继承了ListAdapter与spinnerAdapter,而且绝大部分的Adapter都继承它。
Adapter的实现类如下:
ArrayAdapter:简单.易用的Adapter,通常用于将数组或List集合的多少值包装成列表。
SimpleAdapter:并不简单.功能强大的Adapter,可用于将list集合的多少对象把装成多个列表项。
SimpleCursorAdapter:与SimpleAdapter基本相似,只适用于包装Cursor提供的数据。
BaseAdapter:通常用于被扩展。扩展BaseAdapter可以对各个表项进行最大限度的定制。
下面介绍一下ArrayAdapter来实现的ListView。
这里面的R.layout.array_item的布局如下,另外R.layout。checked_item也类似里面是一个CheckTextview就不做演示。
最后来一张结果图
接下来介绍一下SimpleAdapter创建ListView,上面的ArrayAdapter功能有限,它的列表只能是TextView,而SimpleAdapter 的功能就比较强大了
上面就是item
结果图:
这里面的关键在于创建SimpleAdapter,它需要5个参数,其中后面四个参数很重要,这里我分别介绍一下:
第二个参数:这个参数是一个List<?extendsMap<string,?>>类型的集合对象,这个集合中每个Map<String,?>对象生成一个列表项。
第三个参数:这个参数指定一个界面布局的ID。比如此处指定了R.layout.simple_iteam,这意味着使用这个布局作为列表项组件。
第四项参数:这个参数是一个String【】类型的参数,这个参数提取Map<String,?>对象中哪些key对应的value来生成列表项。
第五个参数:这个参数是一个int【】类型的参数,这个参数决定填充哪些组件。
其实仔细发现这两个是差不多的 只是插入的类型一个单一化,另一个多元化。
SimpleCursonAdapter与上面的SimpleAdapter基本相同这里就不做介绍。最后我们介绍一下
BaseAdapter
布局的话只有一个ListView故在此不做列出代码。
这里的话基本已介绍完成,希望对大家有所帮助
相关文章推荐
- 两主机互ping的一些例子及其解释
- 数据库的一些例子及其分析
- 一些运行时异常及其对应的例子
- 两主机互ping的一些例子及其解释
- 两主机互ping的一些例子及其解释
- 一些非常不错的Struts 例子下载
- 关于File的一些例子
- ManagementObject 参数 WMI 一些参数(Win32_NetworkAdapterConfiguration)
- VB编程的一些小技巧 - vb直接访问dx7屏幕内存的例子
- mysql++ 自带的一些精巧演示例子
- 一些委托事件的工作原理.两个不错的例子
- java接口的一些生动的例子
- 对于软件工程含义及其实施和管理的一些思考
- CVS中的一些概念及其实际使用
- .Net正式版中的一些Bug及其解决方案
- [整理]近段了解一些委托事件的工作原理.找到两个很不错的例子,所以特拿出与大家分享!
- XMLHTTP 对象及其方法、一些心得
- 增加了一些b/s中的html,javascript表格效果,webgis例子到文件夹里面
- 一些VC例子的代码--切分窗口
- 一些VC例子的代码--编辑框