MultiType开源项目源码分析
躬行之
共 2612字,需浏览 6分钟
·
2021-04-23 21:50
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
总结
评论