关于java:Android-ListView开发使用

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 阐明
    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. 1 ↩

    评论

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注

    这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理