位置: 编程技术 - 正文

android-ListView(1)-listview概览

发布时间:2024-02-27

推荐整理分享android-ListView(1)-listview概览,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

我们在写android程序时,几乎每个app都用到ListView这种控件并且很大一部分精力都用在处理它上面,我先大致说一下ListView的构成及其功能,这部分也许会很枯燥,但是对于深入理解ListView确实很有帮助。ListView顾名思义就是形式为list的view,这里为什么说这句废话那?先卖个关子,后面优化的时候就可以体会到。它在android.widget 包里面,是public class,属于控件的一种,就和Button,Spinner等一样。listview的继承属性为

->android.widget.ListView(public class) ->android.widget.AbsListView(public abstract class) ->android.widget.AdapterView《android.widget.ListAdapter》(public abstract class) ->android.view.ViewGroup(public abstract class) ->android.view.View(public class) ->java.lang.Object(public class)

我们自下而上梳理一下,从继承关系我们可以清楚的知道,ListView本质是view,而且是ViewGroup,就是一组view,其实list列表的每一条item都是一个view。然后又出来个AdapterView,而且是泛型,它的标准形式android.widget.AdapterView《T extends android.widget.Adapter》,这里表示一个实现了android.widget.Adapter接口的T类型,这里就一下有意思了,为什么要实现Adapter这个接口,对于Adapter,android官方文档是这样说的,

android-ListView(1)-listview概览

An Adapter object acts as a bridge between an AdapterView and the underlying data for that view. The Adapter provides access to the data items. The Adapter is also responsible for making a View for each item in the data set.

我大致翻译一下就是,适配器对象是适配器视图和潜藏在视图里面的数据的桥梁,适配器给数据条目提供了一个通道,同时适配器也为数据集里面的每一个条目形成一个视图。也就是我包含很多条目的数据集要存在这个Adapter里面,同时Adapter为每个条目返回一个视图,其实ListView里面每个item的视图就是Adapter返回的。这种API设计其实是遵循MVC模式的,V即view,就是我们这里的ListView,C即controller,就是Adapter,而M就是model,数据模型,即android中数据源。这种设计模式使界面显示和数据源以及控制这些数据怎么显示到界面上的方式这三者完全分离,更易控制,比如我们可以在数据源和ListView不变的情况下,更换适配器,这样就能得到不同的布局;我们也可以让视图及适配器不变,更换数据源,比如可能是本地SQLite数据,也可能是自定义数据列表,或者联网请求来的数据。都可以改变其中一个而其他不变,这样写代码效率高很高。

我们的ListView很大一部分都是和数据和适配器打交道,在android里数据有Cursor和ArrayList等,视图有ListView和Spinner,适配器有以下如图几个:

我们在接下来的博客中将细致讲述怎样把三者连接起来,针对不同的ListView的显示需求和不同的数据源怎么选用不同的适配器Adapter。并且还会介绍一些有关网络和ListView数据更新的问题。

Android 重写Seekbar 我们将会重写SeekBar,改变没有前进的地方和已经前进的地方使用Drawable文件使用LayerDrawable对象,他在xml中的根元素是layer-listprename=codeclass=html?xmlversion=1.

android之handler android中handler的基本使用方法以及运行原理。最近看mars的android重置版第二季的视频关于handler的讲解,让我对于这个以前知道怎么用,却不是很明白原理

使用lint工具优化Android代码 一、概述Androidlint工具是一个静态的代码分析工具,用来检查代码中潜在的问题并且提高代码的正确性,安全性,可用性,国际化和性能。确保代码中没

标签: android-ListView(1)-listview概览

本文链接地址:https://www.jiuchutong.com/biancheng/379698.html 转载请保留说明!

上一篇:AppWidgetProvider使用介绍

下一篇:Android 重写Seekbar(android重写方法)

  • 捐赠免税会计分录
  • 增值税发票网上勾选平台
  • 偷逃税款是什么
  • 出口货物不报关走快递
  • 经营性现金流量净额是什么意思
  • 个税补缴纳
  • 专项资金是否缴纳企业所得税
  • 管理费用 结转
  • 收款收据写着投诉有效吗
  • 工程安装公司暂估人工费如何做会计核算?
  • 营业利润为负数说明什么
  • 修理费的定额发票还可以报销吗?
  • 加工企业如何降成本
  • 建筑施工企业的分公司区域公司等较大的
  • 培训费用开具什么发票
  • 软件服务类企业
  • 垃圾填埋沼气发电招聘
  • 年金的缴费基数
  • 小规模纳税人定额发票怎么报税
  • 办税人员的职责和义务
  • 税控系统维护费280会计分录
  • 增值税申报表中期初未缴税额指什么
  • 财产租赁所得的税率是多少
  • 纳税人申领发票流程
  • 公司购买房子涉及什么税
  • 磁盘碎片指的是磁盘因为长期使用
  • PHP:oci_set_module_name()的用法_Oracle函数
  • 招标公司在招标过程中的注意事项
  • os线程是什么
  • 任务管理器无法完成操作拒绝访问
  • 融资租赁业务的操作程序
  • 代理出口退税款退到哪
  • 如何查看电脑型号信息
  • 认知度高的人
  • 交易性金融资产的交易费用计入哪里
  • php定义字符串的三种方式
  • php -v
  • 银行贴现利息怎么做账务处理
  • vue企业开发实战
  • 国税申报系统操作流程
  • 增值税价税合计怎么填
  • 邮电局上级部门
  • sqlserver连接数据库的方法
  • mongodb bi
  • 水利建设基金申报
  • 抵扣税条件
  • 小型微利企业的认定标准2023年
  • 营改增后的劳务费怎么开
  • 一般纳税人销售自己使用过的汽车
  • 增值税普通发票查询
  • 公司帐户可以转法人私人账户吗
  • 临时工工资计入什么费用
  • 油卡办理需要多久?
  • 计提工资时个税怎么处理
  • 企业产值什么意思
  • 非营利医疗机构免征哪几种税
  • win10预览版21277
  • 开机时显示
  • brasil.exe是什么进程
  • mac如何切换界面 快捷键
  • w10 2021年更新
  • 苹果mac 最新系统
  • win10极限模式
  • win7电脑曝光度过高怎么调
  • opengl点的绘制
  • Node.js中的construct构造函数
  • css模糊滤镜
  • python的入门教程
  • Unity C#用WWW操作数据库
  • python win
  • javascript解码与编码
  • nodejs require原理
  • js输出表格
  • 关于javascript函数
  • js setimmediate
  • 电子专票票种核定
  • 全国企业信用信息系统网官网
  • 大米包装有二道封口线正常吗
  • 税务局发票邮寄费用谁承担
  • 安徽高考实行什么模式
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号