本文来源于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适配器的更多相关文章

  1. Android SQLite 数据库详细介绍

    Android SQLite 数据库详细介绍 我们在编写数据库应用软件时,需要考虑这样的问题:因为我们开发的软件可能会安装在很多用户的手机上,如果应用使用到了SQLite数据库,我们必须在用户初次使用 ...

  2. ListView详细介绍与使用

    前言介绍: 关于 ListView 我们大家都应该是非常的熟悉了,在 Android 开发中是经常用到的,今天就再来回顾一下,ListView 的使用方法,和一些需要优化注意的地方,还有日常开发过程中 ...

  3. 【转】JSF中的三大核心组件 UI标签的详细介绍和使用举例

    JSF提供了大量的UI标签来简化创建视图.这些UI标签类似于ASP.NET中的服务器组件.使用这些标签,可以通过其value,binding,action,actionListener等属性直接绑定到 ...

  4. 【转】Android Support Library详细介绍

    网上对Android Support Library中各个依赖包介绍的中文资料太少了,结合官方文档和有限的参考资料做了一次总结,有描述得不对的地方还请指正. 一.主工程.依赖包.jar包.androi ...

  5. Android Support Library详细介绍

    网上对Android Support Library中各个依赖包介绍的中文资料太少了,结合官方文档和有限的参考资料做了一次总结,有描述得不对的地方还请指正. 一.主工程.依赖包.jar包.androi ...

  6. android json解析详细介绍之gson

    废话不多说,什么json是轻量级数据交换标准:自己百度去深入了解:这里有三种json解析工具.本人只用过其中两种:    1.Google Json利器之Gson   评价:简单,方便. 2.阿里巴巴 ...

  7. Android的Master/Detail风格界面中实现自定义ListView的单选

    原文在这里:http://duduli.iteye.com/blog/1453576 可以实现多选,那么如何实现单选呢,这里我写了一个非常简单的方法: public void onListItemCl ...

  8. OneBlog开源博客-详细介绍如何实现freemarker自定义标签

    前言 OneBlog中使用到了springboot + freemarker的技术,同时项目里多个controller中都需要查询一个公有的数据集合,一般做法是直接在每个controller的方法中通 ...

  9. Android 自定义ListView

    本文讲实现一个自定义列表的Android程序,程序将实现一个使用自定义的适配器(Adapter)绑定 数据,通过contextView.setTag绑定数据有按钮的ListView. 系统显示列表(L ...

随机推荐

  1. php 之 分页查询的使用方法及其类的封装

    一.分页的使用: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  2. wordpress禁止调用官方Gravatar头像调用ssl头像链接提升加载速度

    在主题中的functions.php文件末尾加上以下代码即可(外观>编辑>functions.php) //官方Gravatar头像调用ssl头像链接 function get_ssl_a ...

  3. brew 更换国内源(镜像)

    cd /usr/local git remote set-url origin git://mirrors.tuna.tsinghua.edu.cn/homebrew.git brew update ...

  4. rsync相关整理

    第一部分 rsync服务端配置 1.下载安装 a. yum安装.  yum install rsync    b. 下载rsync安装文件安装        #tar zxvf rsync-2.6.9 ...

  5. DLog 技巧

    #ifdef DEBUG#ifndef DLog# define DLog(fmt, ...) {NSLog((@"%s [Line %d] " fmt), __PRETTY_FU ...

  6. LeetCode_Generate Parentheses

    Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...

  7. CCI_chapter 4 trees and Grapths

    4.1Implement a function to check if a tree is balanced For the purposes of this question,a balanced ...

  8. 如何在Protel99se中批量修改元件的封装

    有时候需要批量修改元件的封装,可在原理图和PCB中批量修改.本文以批量修改电阻AXIAL0.3 的封装为AXIAL0.4 为例. 1. 在原理图中批量修改1.1. 方法1双击需要修改封装的其中一个元件 ...

  9. linux磁盘限额配置:quota命令

    LINUX下也有类似WINDOWS NTFS所用的磁盘限额,用的是quota来实现通过rpm -q quota确定是否已安装用quota只能对patation做限额,要做到针对某个目录来做只能靠ln ...

  10. SRM 597DIV1

    250: 首先先特判答案不存在的情况. 再设答案为k,则B[k+1,n]是A的一个子序列,所以, 做法1,枚举k检查子序列是否成立; 做法2,反过来想,从后往前看,最长的一个子序列对应了最小答案. 6 ...