Android 中 ListView 控件的使用详细介绍

本文详细介绍了Android中ListView的显示原理、控件继承关系、属性设置,以及Adapter的使用。重点讲解了ArrayAdapter的构造函数参数,如何自定义BaseAdapter实现动态增删改查功能,并探讨了ListView的性能优化,包括复用convertView和避免频繁调用findViewById(),以提高列表滚动的流畅性。
摘要由CSDN通过智能技术生成

1. ListView 显示原理

ListView显示数据原理实际就是MVC设计模式,如下图所示:

 

  • Model(模型) – 数据集合,用来存储数据组织
  • View(视图) – ListView,负责数据显示
  • Controller(控制器) - 负责管理Model,并设置要显示的哪个具体数据.

 

2. ListView 控件继承关系

java.lang.Object
   ↳	android.view.View
 	   ↳	android.view.ViewGroup
 	 	   ↳	android.widget.AdapterView<android.widget.ListAdapter>
 	 	 	   ↳	android.widget.AbsListView
 	 	 	 	   ↳	android.widget.ListView

3. ListView 控件的属性

属性 说明
android:footerDividersEnabled 是否在 footerView(表尾) 前绘制一个分隔条,默认为 true
android:headerDividersEnabled 是否在 headerView(表头) 前绘制一个分隔条,默认为 true
android:divider 设置分隔条,可以用颜色分割,也可以用 drawable 资源分割
android:dividerHeight 设置分隔条的高度
android:entries ListView 要显示的数据资源

 

表头表尾分割线的设置: 

只能在 Java 中写代码进行设置了,可供我们调用的方法如下

方法 说明
addHeaderView(View v) 添加headView(表头),括号中的参数是一个View对象
addFooterView(View v) 添加footerView(表尾),括号中的参数是一个View对象
addHeaderView(headView, null, false) 和前面的区别:设置Header是否可以被选中
addFooterView(View,view,false) 和前面的区别:设置 Footer 是否可以被选中

 

4. Adapter 继承关系

 

 

几个常用类的使用准则 :

说明
BaseAdapter 抽象类,用得最多的 Adapter
ArrayAdapter 支持泛型操作,最简单的 Adapter,只能展现一行文字
SimpleAdapter 同样具有良好扩展性的 Adapter,可以自定义多种效果
SimpleCursorAdapter 用于显示简单文本类型的 ListView,不推荐使用 XXXXX

 

5. ArrayAdapter 构造函数的第二个参数

 

这其实是我们要给 ListView 设置的模板,有好几种

  1. simple_list_item_1

    单独一行的文本框

    <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值