ListView
(1)ListView 是一套视图(View )组件(Component);
(2)ListView 通常以列表的形式在 android 客户端显示一些列表选项(Item),每个列表选项拥有同样的布局;
(3)为了提升 ListView 的性能,在设计 ListView 时,禁用了其 addView 方法;
(4)ListView 被设计为必须使用适配器为其本身提供加载了数据的 item 界面对象。适配器主要工作是加载 Item 布局,读取指定位置的数据并将数据写入到 Item 布局,返回给 ListView。
(5)实现步骤:
- 创建 ListView 布局
- 创建 Item 布局
- 获取数据
- 创建适配器
- 为 ListView 控件设置适配器
ArrayAdapter
(1)最简单的适配器,用于为 ListView 提供承载简单数据的 item 界面;
(2)其数据源必须是数组或简单的 List 集合;
(3)其加载的 item 布局中必须包含至少一个 TextView 控件,数据源中的数据将逐条显示在每一个 itemView 的 TextView 控件中
(4)ArrayAdapter 的构造方法:
- ArrayAdapter< T >(Context context,int layoutRes)
- ArrayAdapter< T >(Context context,int layoutRes,int textViewResId)
- ArrayAdapter< T >(Context context,int layoutRes,List< T > data)
- ArrayAdapter< T >(Context context,int layoutRes,T[] data)
- ArrayAdapter< T >(Context context,int layoutRes,int textViewResId,List< T > data)
- ArrayAdapter< T >(Context context,int layoutRes,int textViewResId,T[] data)
SimpleAdapter
(1)一种简单的通用适配器;
(2)其数据源必须是由结构相同的 Map 集合构成的 List 集合;
(3)每个 Map 中的数据将被显示在一个 Item 中,所以必须为 item 中的每个控件指定该控件对应显示的值是 map 集合中的哪个值;
(4)SimpleAdapter 的构造方法:
- SimpleAdapter(Context context,List< ? extends Map< String ,? >> data,int layoutRes,String[] from,int[] to)
- data:数据集,必须是由结构相同的 map 集合构成的 list 集合
- layoutRes:item 的布局资源 id
- from:map 集合中的 key 构成的数组
- to:item 布局中的控件 id 构成的数组
- from 和 to 两个参数存在对应关系,其含义是 map 集合中指定 key 的值,存储在对应的 id 的控件中