ListView以及常用Adapter使用总结
来源:互联网 发布:dota 数据 编辑:程序博客网 时间:2024/05/16 13:58
ListView
- 以列表显示数据
- MVC模式:ListView相当于MVC框架中的V(视图);Adapter相当于MVC框架中的C(控制器);数据源(比如
ArrayList<String>
)相当于MVC框架中的M(模型)
关于安卓中使用MVC模式的控件的文章 http://cinderella7.blog.51cto.com/7607653/1281696
ListView的每一个条目都是一个View对象。关于getView()的疑惑 ,其实在这些Adapter中,只有BaseAdapter没有实现getView方法,其他的Adapter都实现了getView方法。所以对于常见的数据源都可以使用以下各种Adapter来完成适配,不同的Adapter根据其构造函数的传入参数你会发现适用的场景。如果ListView条目异常,才会考虑继承BaseAdapter并且重写其方法特别是getView()来自定义将数据填充到控件上的方式,而且你可以通过阅读其他Adapter的getView()的实现方式来优化你自己的Adapter的数据显示方式(也即你要了解ListView显示数据的基本流程)。 相关文章:
http://www.cnblogs.com/itstudent/p/3729117.html
http://blog.csdn.net/a910626/article/details/46946639
SimpleCursorAdapter
- 使用数据源 Cursor , 这是常见的使用数据库时返回的数据源,所以此Adapter用于显示数据库数据
- 示例工程名: ListViewShowSQLite
SimpleAdapter
- 使用数据源
List<Map<String,?>>
,例如ArrayList<HashMap<String , Object>>
- 示例工程名: SimpleAdapter
ArrayAdapter
- 使用数据源
String[]
或者List<String>
- 除了可以使用此Adapter显示数据,还可以用来显示单选列表或者多选列表
- 示例工程名: ArrayAdapter
BaseAdapter
- 此Adapter是一个抽象类,可定制度最高。
- 通过使用BaseAdapter来了解ListView的执行流程和优化问题
- ListView中的每个条目都是一个view , 通过LayoutInflater.inflate()查找布局文件id并实例化
- 在首次执行时,使用findViewById得到view ,将这些view封装在一起就是ViewHolder,然后使用View的setTag()方法来保存ViewHolder。之后每次getView就可以使用getTag()取出ViewHolder赋上数据
- 示例工程名 : BaseAdapter
讲课时涉及到的其他知识点
- ViewGroup主要充当容器 ,对子View进行管理。ViewGroup(树根)和它的孩子们(View和ViewGroup)以树形结构形成了一个层次结构。 Android的布局继承于ViewGroup
- findViewById 跟布局相关,假如有多个布局文件会导致混淆, 那么最好准确指定是哪个布局,比如view1.findViewById()
- SetText()不能传入int参数,因为int参数会被当作resourId使用,
0 0
- ListView以及常用Adapter使用总结
- ListView,adapter使用总结
- ListView控件以及常用数据适配器Adapter的使用+商品展示案例
- listview adapter 常用适配器
- ListView中常用Adapter
- Listview Adapter 优化总结
- ListView总结之Adapter
- Listview adapter 总结
- ListView的优化使用-抽取ViewHolder以及adapter类
- ListView中的几个常用adapter的使用示例
- ListView使用自定义Adapter
- ListView----Adapter的使用
- 重写adapter 使用listview
- ListView 和 Adapter 使用
- android ListView 以及 Adapter详解
- ListView以及Adapter的用法
- Android的Listview用法总结和Adapter的使用
- ListView 与 Adapter 使用技巧
- 基于跳表指针(skip points)的倒排记录表(postings lists)合并算法
- hdu-2187 Beauty Contest(旋转卡壳求平面最远点对)
- 数组搜索(search)之线性搜索与二分法搜索
- 各种工业以太网比较(EtherCAT,EtherNet/IP,ProfiNet,Modbus-TCP,Powerlink)
- 验证手机号是否正确
- ListView以及常用Adapter使用总结
- HTML5笔记
- JNI开发心得笔记系列(一)
- 上机题-字符个数统计
- 理解 LSTM 网络
- 安卓接入融云即时通讯的简单步骤
- Appium+Maven+TestNG(ReportNG)环境搭建(详细过程)
- Android XML Editor cannot process this input
- 汇编语言学习第十一章-标志寄存器