MultiType开源项目源码分析
躬行之
共 2612字,需浏览 6分钟
· 2021-04-23
PS:前两天有事,路过大学特意进去看了一下,熟悉的场景不熟悉的人,时隔几年,再也回不去了。
https://github.com/drakeet/MultiType
MultiTypeAdapter的使用
MultiTypeAdapter的register过程
MultiTypeAdapter的ViewHolder和数据填充
MultiTypeAdapter的使用
1// base
2adapter.register(TextItemViewDelegate())
3adapter.register(ImageItemViewDelegate())
4adapter.register(RichItemViewDelegate())
5// One to many
6adapter.register(Data::class).to(
7 DataType1ViewDelegate(),
8 DataType2ViewDelegate()
9).withKotlinClassLinker { _, data ->
10 when (data.type) {
11 Data.TYPE_2 -> DataType2ViewDelegate::class
12 else -> DataType1ViewDelegate::class
13 }
14}
15adapter.items = items
16recyclerView.adapter = adapter
17adapter.notifyDataSetChanged()
MultiTypeAdapter的register过程
MultiTypeAdapter的ViewHolder和数据填充
getItemViewType
onCreateViewHolder
总结
评论
全球第一“开源”名门望族
Python入门到精通
Python入门到精通:人生苦短,我用Python!Python每日推送、Python教程、Python资料、Python视频、Python项目、Python学习等。
源码共读
0
李彦宏:开源大模型不如闭源,后者会持续领先;周鸿祎:“开源不如闭源” 的言论是胡说八道
架构师大咖
架构师大咖,打造有价值的架构师交流平台。分享架构师干货、教程、课程、资讯。架构师大咖,每日推送。
公众号该公众号已被封禁0、李彦宏:开源大模型不如闭源,后者会持续领先当今
源码共读
0
轻松掌握开源项目的二次开发技巧
点击上方 前端Q,关注公众号回复加群,加入前端Q技术交流群本文作者:@方长_beezen 原文链接:https://juejin.cn/post/7358647992608489535前言随着软件行业的迅速发展,开源项目的重要性已经成为不言而喻的事实。它能够为开发人员节省大量时间和成本,避
前端Q
0
会写代码的总理!全球第一“开源”名门望族
转自:OSC开源社区4 月 15 日,新加坡总理公署发表声明宣布,总理李显龙将于 5 月 15 日辞职,并正式交棒给副总理兼财政部长黄循财。对于李氏家族下一代是否会继续活跃在新加坡政坛,目前外界说法不一。但在开源圈里,李氏家族绝对有一席之地。李显龙有 4 名子女,其本人、次子,以及幼子都有非常专业的
开源前哨
0
Java项目实战——打造一款股票区间交易盯盘系统
点击上方“Java进阶学习交流”,进行关注后台回复“Java”即可获赠Java学习资料今日鸡汤身无彩凤双飞翼,心有灵犀一点通。一、简介大家好,我是Snowball。今天给大家分享的内容是基于Java编程,实现股票交易相关功能开发,如果读者对股票或金融衍生物交易不太了解,又比较感兴趣的话可自行查询相关
Java进阶学习交流
0
分享几个前端中好玩且有用的开源工具,总有一个适合你!
点击上方 前端Q,关注公众号回复加群,加入前端Q技术交流群正所谓差生文具多,作为前端的我们,拥有几个合适的工具和网站可以很有效的提高我们的工具效率,还会有一些很有趣的网站可以在我们敲 bug 累了的时候供我们娱乐,接下来我就和大嘎分析一下我在用的一些工具和网站。聚合API该网站提供了大量的
前端Q
0
【第125期】一文读懂开源软件协议
概述 开源软件协议是规范开源软件分发和使用条件的法律文档。它们允许软件的源代码对公众开放,但同时也保护了原作者的权益。以下是一些最常用的开源协议,以及它们的主要特点。 MIT License MIT 许可证是最宽松的开源协议之一。它允许用户自由使用、复制、修改和分发软件,只要保留原作者的版权声明和
前端微服务
0
.NET 开源工具库,集成超过1000个扩展方法
前言推荐一个.NET 开源项目,集成了超过1000个扩展方法。项目简介Z.ExtensionMethods是由zzzprojects公司开发并维护的一款开源库,为.NET开发人员提供一系列实用的扩展方法,可以减少重复劳动、提高开发效率,支持.NET Framework 和 .NET Core。该项目
dotNET全栈开发
10