Android中的MVVM架构设计-实用篇(四)实现ListView列表展示

0碟中谍6.png
00碟中谍6.png

引言

今天是8月4号,星期六,起了大早跑了趟医院,下午回家后睡到了下午五点...
距离上次写mvvm系列已经快有两个月的时间了,写作的坚持最终还是败给了加班和懒惰,不过,今天我回来了,我的文章我会一直写下去的!

废话少说,说正题

今天给大家带来的是使用mvvm实现listview列表的展示
效果图:


0、效果图.png

被丑哭了?没关系,我没哭就好了

很简单,就是实现了一个头像、姓名、性别的展示,而且还都是用到了假数据。

我的博文中的

mvvm实用篇(一)
https://www.jianshu.com/p/545af5bbb93f
mvvm实用篇(二)
https://www.jianshu.com/p/ef5f8d7d2caa
mvvm实用篇(三)
https://www.jianshu.com/p/6bacbdeb0250

已经将mvvm的图片,String类型的文字都解释的很清楚了,如大家还有什么疑惑,可以再去前三篇。

开始操作

第一步:准备基础布局ListView

在这一步中,无需考虑mvvm,直接按照我们以前的逻辑进行界面搭建即可。
如图所示:


1、基础布局.png

很简单,就在里面放了一个listview,而且给了个id
然后,也是按照我们以前的写法,去找到listview这个id


2、找到id.png

ok,到这里第一步做完,接着看第二步

第二步:准备viewmodel类

我们这里的viewmodel类是一个Student类,看了效果图,大家应该都知道这个viewmodel类中都有什么属性了吧!
对:Student类中只有三个属性:
姓名、性别、头像地址
不过,基于我们前三篇文章的介绍,这个viewmodel我就直接写的很全,其中包含了设置图片的逻辑,请看下图


3、Student类.png

这个类在我的第二篇和第三篇文章中有介绍过,如果有纳闷的同学,可以参考那两篇文章。
需要注意的是,我在这个Student类中添加了一个click方法,用于弹出一个吐司,这个方法将在下一步中用到。

第三步、准备Listview中的item的布局

第三步是基于第二部的,所以大家顺序一定按照我的来哦,直接贴图吧,也很简单


4、item布局.png

这里面唯一需要注意的一点是


5、linearlayout点击事件.png

我给linearLayout加了一个点击事件,这个点击事件是在第三步中定义的一个click方法,在这里直接引用就可以了。

第四步、创建ListView适配器

这一步是关键的一步,应该是大家稍微要记忆一下的。
前边也说到了要做mvvm的话,需要一些套路,在这呢,我们还得要遵循这些套路,ok,不说废话,直接贴图


6、Listview的适配器.png

可以看到,这个适配器还是跟我们以前的那个适配器还是很相似的,只有构造方法和getView不太一致。
那么我们来看下构造方法:
构造方法中我们准备了很多属性,分别是:
Context 、LayoutInflater 、layoutId 、variableId、list
其中,只有variableId是我们不熟悉的,这个variableId在下一步中,我们会用到,当我们看到的时候应该就很清楚了。
getView里面的逻辑不多解释了,在上图的代码中都注释好了,如有疑问可以留言。
那么 其实这一步做完,就差不多完成了。

第五步、给listview设置适配器,完工!

这里我们使用了假数据,还是看图吧


7、设置适配器.png

然后,添加联网权限,就可以看到效果了

0、效果图.png

而且,点击其中的一个条目,就会吐司条目的name。

总结

使用mvvm实现listview感觉逻辑上轻松很多,而且这个listview的适配器基本上可以试用与大多数情况,也就是说,我们处理一般的列表展示,只需用这一个适配器就够了。
但是,适配器的写法需要大家再熟悉一下。

下一篇文章

本例子中只介绍了ListView的用法,GridView和ListView类似,当然也可以用这个方法,但是ViewPager和RecyclerView呢,下一篇文章会做进一步的讲解。

多谢大家的支持~~~么么哒

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

推荐阅读更多精彩内容