listView控件

ListView 是 一种列表显示控件;继承自抽象类 AdapterView

示例

1
2
3
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent" />
  • ListView由很多item(条目)组成,这个item需要单独使用布局文件定义
  • 使用listView需要对数据做适配,适配器就是数据和视图的桥梁;常用适配器有
    • Basedapter
    • ArrayAdapter
    • SimpleAdapter

当需要显示数据的时候,ListView 会从适配器(Adapter)中取出数据,然后来加载数据 , ListView 负责以列表的形式向我们展示 Adapter 提供的内容

来源:ListView详细介绍与使用


Basedapter基本适配器

方法 作用
public int getCount() 得到条目的数目,比如格子的数量
public Object getItem(int position) 根据位置获得该位置的对象
public long getItemId(int position) 根据位置获取条目的id
public View getView(int position, View convertView, ViewGroup parent) 得到一个item的视图
  • public View getView(int position, View convertView, ViewGroup parent)
    • position:item的位置
    • convertView:旧视图
    • parent:父视图

SimpleAdapter

SimpleAdapter继承自Basedapter,对上面的四个抽象方法进行了封装

  • public SimpleAdapter (Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)
    • context:上下文
    • data: 数据集合,data中的每一项对应listView中每一项数据
    • resource:item布局文件的资源ID
    • from:Map集合中的key
    • to:item布局对应控件

ArrayAdapter

SimpleAdapter继承自Basedapter,通常用于TextView

SimpleAdapter常见的两个构造方法

  • 1
    public ArrayAdapter(Context context,int resource, int textViewResourceId, T[] objects)
  • 1
    public ArrayAdapter(Context context,int resource,int textViewResourceId, List<T> objects)
  • context:上下文
  • resource:item布局文件的资源ID
  • textViewResourceId:item布局相对应的TextView的ID

    • T[] objects:需要适配的数据数组

    • List objects:需要适配的LIst类型数据