listView 的应用

1 应用步骤

  1. 获取ListView 控件对象
  2. 筹备数据源
  3. 筹备适配器
  4. 适配器关联到ListView

    数据源能够从服务器 网络下载而来,也能够从数据地面读取。!!!数组中的数据无奈间接传递给LsitView,须要结组适配器实现Adapter1

2 适配器

2.1 适配器Adapter

适配器是数据和视图的桥梁,负责把数据的内容显示hi到视图定义的外观布局中。

2.2 适配器的品种

名称阐明
ArrayAdapter简略的文字列表
SimpleAdapter简略的图文混搭列表
SimpleCursorAdapter数据源是数据库的列表
自定义Adapter最灵便的适配器实用于绝大多数状况

以上适配器都继承自BaseAdapter

2.3 ArrayAdapter 实现文字列表

  1. 获取控件
  2. 建设String[] 数组的数据源
  3. new一个ArrayAdapter 适配器
  4. 适配器关联到ListView

2.4 应用SimpleAdapter 实现图文混编列表

适配器工作原理

  1. 布局文件

    - 增加ListView标签- 编写行布局 item.xml    * 配置对于id
  2. Activity

    • 获取listview对象

      -  筹备数据源List< Map >    +  将复合数据存储到几乎对数据中
      • 配置适配器

        • 将适配器关联到ListView

2.5 自定义Adapter


实现自定义Adapter的步骤

    1. 继承BaseAdapter
    2. 实现getView 办法
    3. 关联ListView
    • 自定义Adapter

      • 增加数据汇合
      • 增加反射器LayoutInflater
      • 实现结构器和
      • 实现getView 和setter办法
    • 在Activity中调用MyAdapter

      • 筹备适配器
      • 将adapter关联到listview

    3 ListView 罕用事件

    名称阐明true/false阐明
    onItemClickItem点击事件true/fasle消化事件,事先不会持续传递/不消化事件,事件会持续传递上来
    onItemLongClickItem 长按事件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. 1 ↩