一、常用属性

属性名称说明
divider设置分割线颜色
dividerHeight设置分割线高度
scrollbar设置滚动条的隐藏或者显示
fadeScrollbars设置滚动条的自动隐藏或者显示
entries引用一个将使用在此ListView里的数组。若数组是固定的,使用此属性将比在程序中写入更为简单

二、实现ListView的一般步骤

  • 在布局文件中编写代码(xml)

    添加ListView标签
  • 在Activity中编写代码(java)

    1. 获取ListView对象
    2. 准备数据源(Array数组)
    3. 配置适配器(ArrayAdatper)
    4. 将适配器关联到ListView

三、什么是适配器

适配器是数据和试图之间的桥梁,他负责把数据所提供的内容显示到视图所定义的外观中。
image.png

四、适配器的种类

名称说明
ArrayAdapter适用于简单的文字列表
SimpleAdapter适用于简单的图文混搭列表
SimpleCursorAdapter适用于数据源是数据库的列表
自定义Adapter(继承自BaseAdapter)最灵活的适配器,适用于绝大多数情况
  • 注意:ArrayAdapter、SimpleAdapetr和SimpleCursorAdapter也是继承自BaseAdapter。

1. ArrayAdapter实现简单的文字列表

// 1. 通过反射为listview对象
        ListView lv = findViewById(R.id.lv_main);
        // 2. 数据源
        String[] data = {
                "初始android",
                "基础控件",
                "入云龙公孙胜",
                "禁军教头王进",
                "初始android",
                "花和尚露真身"
        };
        // 3. 设置适配器
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                this,
                android.R.layout.simple_list_item_1,
                data
        );

        lv.setAdapter(adapter);

2. SimpleAdapter实现图文混编列表

2.1  在布局文件中编写代码
    * 添加ListView标签(main.xml)
    * 编写布局文件(item.xml)
2.2 在Activity中编写代码
    * 获取ListView对象
    * 准备数据源(List<Map>)
    * 配置适配器(SimpleAdapter)
    * 将适配器关联到ListView

总结

ListView是数据显示最常见形式
Adapter是ListView与数据之间的桥梁
ArrayAdapter适用于简单文字列表
SimpleAdapter适用于图文混搭列表,需要提供自定义的行布局eg:item.xml
当行布局出现按钮时,需设置
android:descendantFocusability="blocksDescendants"属性,使行优先获得焦点。

阿南
20 声望7 粉丝