listview学习之初探adapter
来源:互联网 发布:java语言分段函数 编辑:程序博客网 时间:2024/05/22 13:04
最近开始学习listview这个在安卓中使用频率非常之高的控件view,大家在学习安卓的时候肯定都知道listview是多么重要的控件,因为它重要也就意味着它使用起来没有那么简单,需要我们耗费一定的时间去学习的,相信接触过listview的都知道这个view一般是要与adapter一起使用的,学习listview之前我觉得还是要先对adapter有一定的了解。可以说adapter与listview是分不开的。可是为什么呢?
首先什么是adapter呢?
Adapter是连接后端数据和前端显示的适配器接口,是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如下图直观的表达了Data、Adapter、View三者的关系:
此图表明adapter是连接数据与listview的一个桥梁,说白了就是你定义了一个listview,可是数据从哪里来,你可能要说数据自己可以创建啊,对这没什么问题,那么现在你已经定义了一个listview而且也创建了一些数据,然后呢?要知道此时数据与listview是没有什么关联的,那么该怎么把数据填充到listview当中呢?这就需要adapter啦,所以说adapter是数据与listview之间的一个桥梁,一个枢纽。
此图展现了adapter的体系,可以看出adapter还是不少的,虽然说我们不必把所有的都研究的非常透彻,但是比较常用的adapter我们还是要熟练掌握的。
比较常用的有 BaseAdapter,SimpleAdapter,ArrayAdapter等。
- BaseAdapter是一个抽象类,继承它需要实现较多的方法,所以也就具有较高的灵活性;
- ArrayAdapter支持泛型操作,最为简单,只能展示一行字。
- SimpleAdapter有最好的扩充性,可以自定义出各种效果。
第一:需要一个listview当做容器来显示要展示的数据
第二:顾名思义需要一个适配器,用来把数据填充到listview当中
第三:当然是需要数据啦
下面我们再来说说如何使用adapter
可以分如下的几个步骤
第一:准备一个数据源,可以是本地的也可是网络数据
第二:创建适配器,这个要根据不同的使用场景选择不同是的适配器
第三:注册适配器,一般是view.setAdapter(adapter),利用adapter将listview与数据连接起来,完成数据的适配和显示
关于适配器adapter的分享就到这了,这些都是我网上搜集的资料然后加上自己的理解加以整理,如有什么不足之处,欢迎批评指正!谢谢!
1 0
- listview学习之初探adapter
- listview学习之arrayadapter初探
- android 学习之---listview adapter分析
- 学习Android——ListView之adapter
- ListView总结之Adapter
- Android学习记录之ListView如何填充数据(Adapter)
- android学习笔记 Listview adapter
- listview中的adapter学习小结
- ListView和Adapter的学习
- Android listView 之万能Adapter
- listview之adapter的优化
- 野人学Android基础篇之初探UI控件第六课--ListView和他的adapter们(一)
- 野人学Android基础篇之初探UI控件第六课--ListView和他的adapter们(二)
- 野人学Android基础篇之初探UI控件第六课--ListView和他的adapter们(三)
- 野人学Android基础篇之初探UI控件第六课--ListView和他的adapter们(四)
- Android学习_使用Adapter创建ListView
- 【GL视频跟随】listview&adapter学习
- ListView学习笔记之二------SimpleAdapter, BaseAdapter构造自己的Adapter
- 走进 Redis 的世界
- IDEA的入门使用(一)——快捷键
- 【Linux基础】基础shell命令
- 内存模型笔记
- CentOS重启后resolv.conf被重置的解决方案
- listview学习之初探adapter
- 编程第七天
- 二分法l例 E
- skydns
- Android Behavior详解
- ftp+nginx搭建图片服务器,上传FTP文件可以传到服务器上,但是文件大小是0字节的 而且点击按钮后程序会卡死
- The server time zone value 'EDT' is unrecognized or represents more than one time zone.
- Fragment深入解析
- linux中shell变量$#,$@,$0,$1,$2的含义解释: