ListView简介
在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。基本上是个软件基本都会使用到ListView 。
要使用ListView就不得不说说Adapter适配器,因为只有通过Adapter才可以把列表中的数据映射到ListView中。
软件开发中最常用的适配器有ArrayAdapter<T>, BaseAdapter, SimpleAdapter,接下来我们讲解如何使用ListView控件。
列表的显示需要三个元素:
1.ListVeiw 用来展示列表的View。
2.适配器 用来把数据映射到ListView上的中介。
3.数据 (具体信息字符串,图片,或者基本组件)。
那么存在哪些适配器呢?
Android中的适配器
BaseAdapter
ArrayAdapter
SimpleAdapter
SimpleCursorAdapter
CursorAdapter
HeaderViewListAdapter
ResourceCursorAdapter
WrapperListAdapter
常用适配器
BaseAdapter是一个最为基础的适配器,用于扩展适配器的适配器。
其中以ArrayAdapter最为简单,只能展示多行一列的数据格式。
SimpleAdapter有最好的扩充性,可以自定义出各种效果。
SimpleCursorAdapter可以认为是SimpleAdapter对数据库的简单结合,可以方便的把数据库的内容以列表的形式展示出来。
BaseAdapter------->implements ListAdapter ,SpinnerAdapter
|----ArrayAdapter
|----SimpleAdapter
|---CursorAdapter
|----SimpleCursorAdapter
ArrayAdapter
ArrayAdapter只有这两种构造方法。T[] 和 List<T> 一般T为Stirng.
ArrayAdapter(Context context, int textViewResourceId, T[] objects)
ArrayAdapter(Context context, int textViewResourceId, List<T> objects)
来装配数据,要装配这些数据就需要一个连接ListView视图对象和数组数据的适配器来完成两者的适配工作,
ArrayAdapter的构造需要三个参数。
1、Context类型的对象 2、布局文件(注意这里的布局文件描述的是列表的每一行的布局,android.R.layout.simple_list_item_1是系统定义好的布局文件。 3、数据源(一个List集合或者数组)。 同时用setAdapter()完成适配的最后工作。
SimpleAdapter
使用 simpleAdapter 需要注意的是需要用到Map<String,Object> item 来保存列表中每一项的显示的title与text , new SimpleAdapter的时候将map中的数据写入 ,程序就会帮我们绘制列表。
SimpleAdapter(Context context, List<? extends Map<String, ?>> data,int resource, String[] from, int[] to);
1、Context类型的对象
2、数据源(一个List集合<Map<String,Object>>)。
3、布局文件(注意这里的布局文件描述的是列表的每一行的布局)
4、每行显示数据的key总和 String[]
5、每行数据中每个数据对应显示的控件id
SDK中大致做了如下的解释:
简而言之就是方便把从游标得到的数据进行列表显示,并可以把指定的列映射到对应的TextView中。
构造方法
SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)