android之ListView,详细介绍实现步骤,举例,自定义listview适配器
本文来源于www.ifyao.com禁止转载!www.ifyao.com
android中如何使用listView是比较重要的,因为很多时候都需要将数据库中的数据以列表显示,
具体使用步骤:大体
1,建立一个item.xml文件,此布局文件布局布局如何具体显示列表中的每一个条目
2,在要使用listview的界面中添加listview控件。
3,activity中注册listview
4,得到数据,通过适配器将数据绑定到对应的item上,有好几种适配器,下面详细介绍
5,listview.setAdapter(适配器);
具体介绍
1,建立一个item.xml文件

2,在要使用listview的界面中添加listview控件。

3,activity中注册listview
4,得到数据,通过适配器将数据绑定到对应的item上
下方的例子用的simpleAdapter适配器,是最简单的一种适配器
例子中的show方法
先查询数据库,得到20条数据,返回的类型是list《Person》,
但是simpleAdapter要求数据是list《HashMap<string,?>》数据类型
所以讲list<Person>转成list《HashMap<string,?>》类型
适配器的五个参数分别是
1 上下文对象2 数据,就是上边转化的 3 一开始定义的item布局文件的资源ID 4,数据中的各个字段 5,对应字段要显示到的item中的具体控件,意思就是将对应数据绑定到对应控件上
5,listview.setAdapter(适配器);

第二种适配器要求传入的数据是游标对象

但是有一点要注意要求查询结果中主键要求是_id字段,两种解决办法
1,将表中的主键修改成_id
2,查询时用别名

自定义适配器,自定义适配器继承BaseAdapter
实现父类的方法
自己定义传入的数据格式
下方是要实现的大体目录

构造函数中得到系统的布局服务
重点实现getView方法
首先,因为listView会滚动,所以一开始只会new第一屏的View,然后将View缓存,后边滚动时候就直接使用前边缓存的View。
new View是通过布局管理器layoutinflater生成条目界面对象
开始判断一下是否为空,空就是第一屏
得到对应的空间将数据绑定
返回界面对象。

调用自定义适配器,数据绑定在适配器的方法中已经绑定了
适配器里边的getView方法还可以优化,提高性能

listview的每一个item可以出发点击事件得当绑定的数据
通过onItemClickListener
点击事件中
四个参数
1,就是listview 2,itemview 3,item对象在listview集合中的序号4不常用
通过getItemAtposition(序号)得到绑定的数据
android之ListView,详细介绍实现步骤,举例,自定义listview适配器的更多相关文章
- Android SQLite 数据库详细介绍
Android SQLite 数据库详细介绍 我们在编写数据库应用软件时,需要考虑这样的问题:因为我们开发的软件可能会安装在很多用户的手机上,如果应用使用到了SQLite数据库,我们必须在用户初次使用 ...
- ListView详细介绍与使用
前言介绍: 关于 ListView 我们大家都应该是非常的熟悉了,在 Android 开发中是经常用到的,今天就再来回顾一下,ListView 的使用方法,和一些需要优化注意的地方,还有日常开发过程中 ...
- 【转】JSF中的三大核心组件 UI标签的详细介绍和使用举例
JSF提供了大量的UI标签来简化创建视图.这些UI标签类似于ASP.NET中的服务器组件.使用这些标签,可以通过其value,binding,action,actionListener等属性直接绑定到 ...
- 【转】Android Support Library详细介绍
网上对Android Support Library中各个依赖包介绍的中文资料太少了,结合官方文档和有限的参考资料做了一次总结,有描述得不对的地方还请指正. 一.主工程.依赖包.jar包.androi ...
- Android Support Library详细介绍
网上对Android Support Library中各个依赖包介绍的中文资料太少了,结合官方文档和有限的参考资料做了一次总结,有描述得不对的地方还请指正. 一.主工程.依赖包.jar包.androi ...
- android json解析详细介绍之gson
废话不多说,什么json是轻量级数据交换标准:自己百度去深入了解:这里有三种json解析工具.本人只用过其中两种: 1.Google Json利器之Gson 评价:简单,方便. 2.阿里巴巴 ...
- Android的Master/Detail风格界面中实现自定义ListView的单选
原文在这里:http://duduli.iteye.com/blog/1453576 可以实现多选,那么如何实现单选呢,这里我写了一个非常简单的方法: public void onListItemCl ...
- OneBlog开源博客-详细介绍如何实现freemarker自定义标签
前言 OneBlog中使用到了springboot + freemarker的技术,同时项目里多个controller中都需要查询一个公有的数据集合,一般做法是直接在每个controller的方法中通 ...
- Android 自定义ListView
本文讲实现一个自定义列表的Android程序,程序将实现一个使用自定义的适配器(Adapter)绑定 数据,通过contextView.setTag绑定数据有按钮的ListView. 系统显示列表(L ...
随机推荐
- [Mugeda HTML5技术教程之10]发布内容
动画作品制作好后,就要拿来使用,怎么发布到想要的位置也是动画制作者比较关心的问题.这一节,我们讲述怎样将制作好的动画内容发布到想要的地方.对制作好的内容,可能的使用场景主要有以下三种:直接导出:发布到 ...
- [Mugeda HTML5技术教程之1] HTML5: 生存还是毁灭
[Mugeda HTML5技术教程] 开篇: HTML5 - 生存,还是毁灭 摘要:HTML5并不试图解决所有问题.但是在很多适合的场合,HTML5是不二选择. To be, or not to be ...
- Javascript中的var_dump函数
最近在做基于OpenSocial的应用,在调试JavaScript时候有一个很头大的问题,就是没有类似PHP的var_dump()的函数,可以把变数内的资料印出来看看, debug时就只能不断的doc ...
- 利用ARM批量自动化创建SSD多磁盘RAID0虚拟机
在实际生产环境大规模部署的时候,有时需要能批量创建多台Linux虚拟机,并且该虚拟机带多个硬盘,一些数据库环境,比如MySQL和MongoDB等,会需要超过10000de IOPS, 那么创建的虚拟机 ...
- cf C. Insertion Sort
http://codeforces.com/contest/362/problem/C #include <cstdio> #include <cstring> #includ ...
- 专访OPPO李紫贵:ColorOS用户过千万 软硬融合生态版图初现
专访OPPO李紫贵:ColorOS用户过千万 软硬融合生态版图初现 专访OPPO李紫贵:ColorOS用户过千万 软硬融合生态版图初现
- 我的四年建站故事(X)
今天版主们有在群里聊建站的事情了,似乎他们每个人都很热衷于搭建一个自己的网站或者博客,我突然之间觉得非常有必要做一些经验的分享. 首先我想先介绍一下CMS( 网站内容管理系统, 即 Co ...
- CSS介绍
从HTML被发明开始,样式就以各种形式存在.不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制.最初的HTML只包含很少的显示属性. 随着HTML的成长,为了满足页面设计者的要求,HTML添加 ...
- 2014牡丹江——Domination
题目链接 题意: 给一个n*m的矩阵,每天随机的在未放棋子的格子上放一个棋子.求每行至少有一个棋子,每列至少有一个棋子的天数的期望 (1 <= N, M <= 50). 分析: 比較明显 ...
- 内存测试工具memtester
Memtester是用户态工具,用于测试内存子系统的故障.非常方便,支持32位 或64位Unix-like系统.对于硬件开发开发者来说,memtester可以定位到物理地址. 1. 安装 下载地址ht ...