listView 的应用
1 应用步骤
- 获取ListView 控件对象
- 筹备数据源
- 筹备适配器
适配器关联到ListView
数据源能够从服务器 网络下载而来,也能够从数据地面读取。!!!数组中的数据无奈间接传递给LsitView,须要结组适配器实现Adapter。1
2 适配器
2.1 适配器Adapter
适配器是数据和视图的桥梁,负责把数据的内容显示hi到视图定义的外观布局中。
2.2 适配器的品种
名称 | 阐明 |
---|---|
ArrayAdapter | 简略的文字列表 |
SimpleAdapter | 简略的图文混搭列表 |
SimpleCursorAdapter | 数据源是数据库的列表 |
自定义Adapter | 最灵便的适配器实用于绝大多数状况 |
以上适配器都继承自BaseAdapter
2.3 ArrayAdapter 实现文字列表
- 获取控件
- 建设String[] 数组的数据源
- new一个ArrayAdapter 适配器
- 适配器关联到ListView
2.4 应用SimpleAdapter 实现图文混编列表
适配器工作原理
布局文件
- 增加ListView标签- 编写行布局 item.xml * 配置对于id
Activity
获取listview对象
- 筹备数据源List< Map > + 将复合数据存储到几乎对数据中
配置适配器
- 将适配器关联到ListView
2.5 自定义Adapter
实现自定义Adapter的步骤
- 继承BaseAdapter
- 实现getView 办法
- 关联ListView
自定义Adapter
- 增加数据汇合
- 增加反射器LayoutInflater
- 实现结构器和
- 实现getView 和setter办法
在Activity中调用MyAdapter
- 筹备适配器
- 将adapter关联到listview
3 ListView 罕用事件
名称 | 阐明 | true/false | 阐明 |
---|---|---|---|
onItemClick | Item点击事件 | true/fasle | 消化事件,事先不会持续传递/不消化事件,事件会持续传递上来 |
onItemLongClick | Item 长按事件 | true/fasle | 消化事件,事先不会持续传递/不消化事件,事件会持续传递上来 |
如果心愿长按事件后,不再触发点击事件,则应该将返回值为true
4 Selector 背景选择器
selector背景选择器
是drawable文件夹下的一种资源文件.xml
+ 创立资源文件+ 编写Selector 文件:通常状态/点击状态+ 设置button的背景树型为Selector 背景选择器的资源的援用
- 在其中能够定义多种不同状态下的控件背景
- 罕用的状态如下表
名称 | 阐明 |
---|---|
android:state_pressed | 控件是否被按压 |
android:state_focused | 控件是否取得焦点 |
android:state_enabled | 控件是否可用 |
android:state_selected | 控件是否被选中 |
留神
getview办法的每次调用都须要执行两个耗时操作
- inflate 办法耗时 convertView解决。 一级优化
- findeViewById 办法耗时 ViewHoulder 解决。 二级优化
ConvertView 的原理和应用
ViewHolder 的原理和应用
————————————————————————
[1] 《 第一行代码--Android(第二版) 》郭霖
[2] <从零开始的安卓入门课程> 孙老师非要难堪
- 1 ↩