android之ListView,详细介绍实现步骤,举例,自定义listview适配器

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(序号)得到绑定的数据

时间: 2024-08-28 02:06:52

android之ListView,详细介绍实现步骤,举例,自定义listview适配器的相关文章

Android网络框架-Volley实践 使用Volley打造自定义ListView

这篇文章翻译自Ravi Tamada博客中的Android Custom ListView with Image and Text using Volley 最终效果 这个ListView呈现了一些影视信息,每一行是一个影片的信息,每一行中有一张电影的图片,电影的名字.评分.类型.年份等信息. 1.json数据 我们通过解析json然后拿到数据,这个json数据包括json数组,每个json数组中是一个json对象,json对象中包括了电影的图片url地址.标题.年份.评分.类型等信息 JSON

android json解析详细介绍之gson

废话不多说,什么json是轻量级数据交换标准:自己百度去深入了解:这里有三种json解析工具.本人只用过其中两种:    1.Google Json利器之Gson   评价:简单,方便. 2.阿里巴巴 Json利器之FastJson 评价:大数据的性能还是蛮快的. 3.IBM Json利器之Json4J   少人用. 首先导入volley.jar和gson.jar的包: 在主配置文件里面加上internet权限‘ 然后就是代码: mainActivity.java public class Ma

android解决listview与scrollview的冲突、自定义listview的高度以及上下拉刷新

     很多时候我们需要使用listview与嵌套使用,那么问题来了,listview里面自带了 滚动条,而又嵌套在scrollview里面.所以引发了一系列的冲突.listview显示不全. 今天给出一个全新的上下拉刷新与解决冲突的方案. .点击下载下拉刷新上拉加载工具      下载完工具后我们复制粘贴到我们自己的工程里面,使用方式和自定义view一样. 下面贴出代码 看到代码贴如也就这么回事.但是我们注意了,这个时候的listview是包裹在scroll里面的.那么滚动起来肯定不行的..

Android 自定义 ListView 上下拉动&ldquo;刷新最新&rdquo;和&ldquo;加载更多&rdquo;歌曲列表

本文内容 环境 测试数据 项目结构 演示 参考资料 本文演示,上拉刷新最新的歌曲列表,和下拉加载更多的歌曲列表.所谓"刷新最新"和"加载更多"是指日期.演示代码太多,点击此处下载,自己调试一下. 下载 Demo 环境 Windows 2008 R2 64 位 Eclipse ADT V22.6.2,Android 4.4.3 SAMSUNG GT-I9008L,Android OS 2.2.2 测试数据 本演示的歌曲信息,共有 20 条,包括歌手名.歌曲名.时长.缩

自定义ListView实现中间项动态变大的效果(不是自定义Adapter)

为什么强调不是自定义Adapter,因为我这个自定义控件是来源与公司新做的项目,刚开始在百度上找了一圈,都说是自定义ListView ,点进去却是自定义Adaper,有的人就会说你是不是太较真了,自定义Adapter就基本可以实现各种效果了,何必要自定义Listview,今天我做的这个还确实不好用Adapter做,先上效果图,右边的动图来源于左边这个项目中的一个控件. 因为我们的项目中,六个通道的检测过程要同时动态显示,这样位置就要合理调配,因为六个通道采用的布局比较相似,所以当时考虑了Frag

自定义ListView适配器Adapter引用布局文件的情况下实现点击列表项时背景颜色为灰色

listview控件设置适配器的时候,如果使用自定义的adapter,比如MyArrayAdapter extends ArrayAdapter<String> 如果listitem布局文件不做任何处理的话,点击列表项的时候不会出现背景色灰色的现象. 实现思路是:在listitem布局文件中为该布局文件中的父控件:LinearLayout,设置android:background="@drawable/listitemclickseletor" 其中listitemclic

【转】【Android UI设计与开发】第07期:底部菜单栏(二)Fragment的详细介绍和使用方法

原始地址:http://blog.csdn.net/yangyu20121224/article/category/1431917/1 由于TabActivity在Android4.0以后已经被完全弃用,那么我就不再浪费口水继续讲解它了,取而代之的是Fragment.Fragment是Android3.0新增的概念,Fragment翻译成中文是碎片的意思,不过却和Activity十分的相似,这一篇我花大量的篇幅来详细的讲解Fragment的介绍和使用方法. 一.Fragment的基础知识介绍  

[转]图解CSS的padding,margin,border属性(详细介绍及举例说明)

图解CSS的padding,margin,border属性 W3C组织建议把所有网页上的对像都放在一个盒(box)中,设计师可以通过创建定义来控制这个盒的属性,这些对像包括段落.列表.标题.图片以及层.盒模型主要定义四个区域:内容(content).边框距(padding).边界(border)和边距(margin). 对于初学者,经常会搞不清楚margin,background-color,background-image,padding,content,border之间的层次.关系和相互影响

如何获得Android设备名称(ADB命令详细介绍)

豌豆荚.360手机管家等软件可以获取Android设备名称,显示在界面上,如下图: 我们自己如何来获取设备名称 呢?答案如下: 在命令行中输入"adb shell"进入shell之后,再输入"cat /system/build.prop"其实,设备信息,主要是存放在"/system/build.prop"文件,通过"cat"命令就可以查看了. 下面附上ADB命令的详细介绍 adb 介绍 adb的全称为Android Debug