Android初级开发(四)——补充4、ListView

对于ListView我是真的没有底气写,感觉它很简单很容易就实现了,也觉得它好复杂,一不小心满脸都是空指针,而且想要展现的效果更友好,代码就要更“高级”,要学的越来越多,感觉ListView是个无底洞,从它能延伸出好多知识点。。。

在这里先简单说说一下我做的三个小例子吧,都是比较简单的,灰常适合初学者初次接触ListView。。。。

一、ListView简单介绍

在Android开发中,ListView是比较常用的控件,它以列表的形式显示具体内容,并且能够根据数据的长度自适应显示。在ListView中可以根据需要显示自定义的列表内容,包括文字(TextView)、图片(ImageView)、按钮(Button)等,以此构成图文并茂的显示效果。

二、案例一——每行只有一个数据

先看效果图吧,我比较喜欢一上来就直接一点,哈哈哈:

这个例子就是展示一个列表,分别显示了四种水果,在点击列表某一行时,弹出改行的文字内容。

做起来很easy,主要是要用到Adapter(适配器),刚开始使用适配器的都对它比较敬畏,比如我。。。

1、我们先在主布局文件中加入ListView控件,如下:

我们规范的把它命名为mListView.

2、接下来,我们设置一个名为list.xml的布局文件,这个布局文件中主要用来设置我们希望的每行列表的布局。在这个例子中,我们只需要设置一个TextView来放我们的数据。

3、然后就开始设置Activity吧。

首先就是要声明一个ListView对象,然后findViewById找到我们在布局文件中设置的ListView控件;

然后用一个数组来放我们的数据;

接下来创建一个ArrayAdapter即泛型为字符串类型的适配器对象,这个对象用来把我们的数据和列表绑定到一起。在适配器中我们要传入四个参数,第一个是上下文,第二个是列表布局文件,第三个参数是数据将要传入列表中的哪个控件,最后一个是数据源。

然后调用setAdapter将适配器赋给我们设置的ListView对象。

最后设置列表点击时间,设置监听,当用户点击列表时,我们用Toast弹出列表内容即可,这个内容实际上是从数据源中拿到的。

实际上,这个简单列表的用法和之前我们使用下拉框的情况很像,可以再回去参考复习一下。

三、案例二——每行中有多个数据

在实际的应用中,列表中常常会包含了各种数据,显然,上一个例子中一个列表中只有一个数据很不够用,那就再来学习一个一行中有两个数据的吧(捂脸哭),我们慢慢学习,不着急,毕竟智商有限。正如前文所说,稍微有点扩展,新知识随之而来(微笑脸)......HashMap这个东西说实话,从大学我就经常接触它,但是直到现在,我还是很怕使用它,理解的不深就会这样。。。

先看效果图:

我们在每一行设置了两个数据,第一个数据为姓名,第二个数据为手机号。

1、同上一个列子,先在主布局文件中设置一个ListView控件,代码和上一样,这里不再放了。

2、也同上,创建一个名为list.xml的布局文件,主要是用来设置每一行列表的样式。在这个例子中,我们为每一行设置两个水平的TextView,代码如下:

3、转到Activity开始捣鼓。。

在这段代码里,我们主要是在上个例子的基础上加入了HashMap这个功能。HashMap可以创建多个对象,每个对象又能根据不同的键保存不同的数据,这就很方便的让我们能把同一对象的多个信息属性绑到一个HashMap对象上。

所以使用HashMap的步骤就是先new一个对象,然后把数据put到对象中,接着把对象添加到list里,再用适配器把数据和列表绑到一起,这里用的SimpleAdapter适配器需要传入五个参数,第一个表示上下文,第二个是数据源,第三个是列表布局文件,第四个是键名,最后一个是键对应的列表中的控件id。

三、案例三——图片和文字并行

1、主Activity布局代码

2、写List_Item的布局

3、写Activity

4、看一下效果吧

这个例子和第二个例子很像,改动基本不大,举一反三就很容易理解啦。PS:请忽略我的图片和文字是否匹配,我只是拿来凑数的,并不知道这些车的牌子。。。勿喷!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,271评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,725评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,252评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,634评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,549评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,985评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,471评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,128评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,257评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,233评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,235评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,940评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,528评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,623评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,858评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,245评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,790评论 2 339

推荐阅读更多精彩内容