MultiType开源项目源码分析
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()
