You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
yunshuipiao
changed the title
[MultiType](https://github.com/drakeet/MultiType) 的扩展使用(ViewBinding, Diff.Callback)
MultiType 的扩展使用(ViewBinding, Diff.Callback)
Jun 4, 2021
MultiType 的扩展使用(ViewBinding, Diff.Callback)
该库是我目前使用过最好用的 adapter 库,严格的遵循数据驱动,针对使用方便性做了一些扩展。
Delegate 的封装
这一步封装,结合 viewbinding 省去 viewholder 的创建过程。
使用反射
ViewHolder 的创建需要传入 layout 对应的binding,这里使用反射生成。
相关反射代码如下:
不使用反射
不使用发射,需要抽象一个方法,将 binding 的实例返回。
结合 DiffUtil.Callback 做局部更新
这里考虑使用扩展函数,封装进行使用。
参考资料
MultiType: https://github.com/drakeet/MultiType
DylanCaiCoding:ViewBindingKTX: https://github.com/DylanCaiCoding/ViewBindingKTX
The text was updated successfully, but these errors were encountered: