位置: 编程技术 - 正文

android-ListView(1)-listview概览

编辑:rootadmin

推荐整理分享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重写方法)

  • 企业所得税如何合理避税?
  • 征收率 税率 区别
  • 增值税的附加税有几个
  • 金税四期主要监管什么
  • 代理费住宿费都包括什么
  • 对方开给我的专票遗失了,让我上传发票
  • 购车发票需要认购吗
  • 企业买车购置税跟个人一样吗
  • 年终奖是否列入社保基数
  • 办理企业所得税汇算清缴的期限是
  • 公司租车怎么抵税
  • 应付职工薪酬存在的意义
  • 增值税普通发票税率
  • 海关完税凭证抵扣税率
  • 对于甲供工程,施工方销售额不包括建设方提供的材料款。那么该销售额是否包括设备及动力款?
  • 购入二手设备,无发票怎么记账
  • 物业公司代收电费会计分录
  • 垫付按揭保证金怎么做账
  • 其他应收款借方和贷方什么意思
  • 技术咨询增值税税率
  • 交易性金融资产入账价值怎么计算
  • Linux如何给文件赋予内容
  • linux 使用u盘
  • 工业增加值计算公式是什么
  • 怎么计提企业所得税在哪里知道计提多少
  • Linux怎么使用Windows的软件
  • 企业年报系统怎么进
  • win11咋截屏
  • linux gcc命令详解
  • 树上有只松鼠简笔画
  • 进项税额转出怎么算
  • php require的用法
  • 个人之间股权转让印花税怎么交
  • 股东帮企业还款违法吗
  • php发送邮件代码
  • 埃莫尔斯
  • 零星分布的意思
  • 一般纳税人收到小规模专票怎么抵扣
  • ai绘画图片
  • 主动学习(Active Learning,AL)的理解以及代码流程讲解
  • semeion手写数据集
  • 2022最好用的港澳台电视直播
  • 永续债偿付顺序
  • 公司财务人员岗位职责
  • sql数据库存储过程怎么写
  • 预计可变现净值与账面成本的关系
  • sql server查询
  • 确认营业收入的时间是什么简答题
  • 专门借款本金汇兑差额
  • 公司代垫个税账务处理
  • 母公司溢价收购子公司
  • 未分配利润属于总账科目吗
  • 开票操作流程是什么
  • 微信怎么帮别人代缴社保
  • 登记三栏式现金日记账和银行存款日记账的依据
  • sql server连接不上服务器怎么办
  • sql语句常用语句
  • 远程桌面修改默认端口
  • centos7 home
  • big是什么文件格式
  • win8.1快捷键
  • centos8查看cpu温度
  • win10系统如何查看版本号
  • windows 8 key
  • unity3d第三人称角色控制器
  • jquery右击事件
  • javascript中的判断语句
  • listview点击获取内容
  • linux同名文件
  • python中的字符型
  • unity数据结构和算法
  • 复杂的字
  • beautiful python
  • unity linux arm
  • android 进程通信
  • 省市二级联动小组是什么
  • python3模拟登录
  • 江西省国家税务局
  • 我们如何理解税收意义
  • 执法事业单位改革最新进展
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设