Closed zzh3321 closed 1 year ago
ConcatAdapter使用的时候,多个adapter里面如果有相同的itemType,那么onBind方法只会在第一个addType的adapter里面执行。
相同的layoutId可以区分不同的itemType
虽然layoutId一样,但是业务逻辑不同,如果不能区分itemType,只能将数据再包一层,区分成两个不同的数据类型,或者复制一个layout,但是这样如果需要区分的比较多的话,就会很麻烦。
毕竟不同的adapter如果能够把业务逻辑解耦才好。
请问大佬,这种情况有没有更简单的实现方法
相同layoutId只是数据不同, 这种情况下你复制一份layout不就行了
你简单问题复杂化了
框架设计思路就是不同类型的布局就是不同layout, 数据和布局属于绑定对应关系, 简洁明了直接追踪到多类型
对于无法满足的需求你可以继承复写BindingAdapter, 最高程度的来自定义逻辑, 你不要思想被束缚, BRV的扩展性不会比官方Adapter低
BindingAdapter
好的,感谢大佬解答
问题描述
ConcatAdapter使用的时候,多个adapter里面如果有相同的itemType,那么onBind方法只会在第一个addType的adapter里面执行。
期望行为
相同的layoutId可以区分不同的itemType
虽然layoutId一样,但是业务逻辑不同,如果不能区分itemType,只能将数据再包一层,区分成两个不同的数据类型,或者复制一个layout,但是这样如果需要区分的比较多的话,就会很麻烦。
毕竟不同的adapter如果能够把业务逻辑解耦才好。
请问大佬,这种情况有没有更简单的实现方法