欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Andriod ListView

程序员文章站 2023-08-22 14:30:37
ListView一、ListView介绍:(一)、 ListView 概念:ListView是Android中最重要的组件之一,几乎每个Android应用中都会使用ListView。它以垂直列表的方式列出所需的列表项(二)、ListView的两个职责:①.将数据填充到布局;②.处理用户的选择点击等操作。三)、列表的显示需要三个元素:1.ListVeiw:用来展示列表的View;2.适配器: 用来把数据映射到ListView上的中介;3.数据源: 具体的将被映射的字符串,图片,或者基本组件...

ListView

一、ListView介绍:
(一)、 ListView 概念:
ListView是Android中最重要的组件之一,几乎每个Android应用中都会使用ListView。它以垂直列表的方式列出所需的列表项
(二)、ListView的两个职责:
①.将数据填充到布局;
②.处理用户的选择点击等操作。
(三)、列表的显示需要三个元素:
1.ListVeiw:用来展示列表的View;
2.适配器: 用来把数据映射到ListView上的中介;
3.数据源: 具体的将被映射的字符串,图片,或者基本组件。
(四)、什么是适配器?
适配器是一个连接数据(Data)和AdapterView(ListView就是一个典型的AdapterView,后面还会学习其他的)的桥梁,通过它能有效地实现数据与AdapterView的分离设置,使AdapterView与数据的绑定更加简便,修改更加方便。将数据源的数据适配到ListView中的常用适配器有:ArrayAdapter、SimpleAdapter和 SimpleCursorAdapter。
(五)、ListView的常用UI属性:
android:divider
android:dividerHeight
android:entries
android:footerDividersEnabled
android:headerDividersEnabled

二、创建ListView:
(一)、ArrayAdapter实现单行文本ListView:
(无需自定义布局,使用系统提供的布局)

(1)、定义一个数组来存放ListView中item的内容;
(2)、通过实现ArrayAdapter的构造方法创建一个ArrayAdapter对象;
(3)、通过ListView的setAdapter()方法绑定ArrayAdapter
【备注:】
ArrayAdapter有多个构造方法,最常用三个参数的那种。
第一个参数:上下文对象;第二个参数:ListView的每一行(也就是item)的布局资源id;第三个参数:ListView的数据源。
(二)、 SimpleAdapter 实现多行文本ListView:
(自定义item布局文件)

(1)、定义一个集合来存放ListView中item的内容;
(2)、定义一个item的布局文件;
(3)、创建一个 SimpleAdapter 对象;
(4)、通过ListView的setAdapter()方法绑定 SimpleAdapter

(三)、SimpleAdapter实现多行文本且带图片ListView:

(1)、定义一个集合来存放ListView中item的内容;
(2)、定义一个item的布局文件;
(3)、创建一个 SimpleAdapter 对象;
(4)、通过ListView的setAdapter()方法绑定 SimpleAdapter 。

(四)、BaseAdapter自定义适配器实现ListView:

(1)、定义一个集合来存放ListView中item的内容;
(2)、定义一个item的布局文件;
(3)、定义一个 继承了BaseAdapter的子类MyAdapter,重写未实现的方法;(定义ViewHolder,重写getView()方法)
(4)、创建一个内部类:MyAdapter extends BaseAdapter;

实现未实现的方法:getCount() 、getItem()、 getItemId()、 getView();
定义内部类ViewHolder,将item布局文件中的控件都定义成属性;
构建一个布局填充器对象:LayoutInflater.from(context);
调用布局填充器对象的inflate()方法填充item布局文件,将返回的view对象赋值给convertView;
调用convertView对象的findViewById()获取item布局中的控件,将控件对象赋值给ViewHolder中的属性;
给convertView对象设置标签,也就是调用setTag()方法,将ViewHolder对象作为标签贴在convertView对象上;
从根据convertView的标签,从convertView对象上取回ViewHolder对象。
(5)、通过ListView的setAdapter()方法绑定自定义的MyAdapter对象 。

(五)、convertView原理:
Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。

本文地址:https://blog.csdn.net/qq_46084899/article/details/107164229