网上现在有好多版本的BaseVH轮子,但是使用了几个还是摆脱不了每一种场景定制一个Adapter,就好好捋了下Adapter的职能,不多说先看逻辑吧
1.png
1 delegate就是核心了,map的k对应实体类Bean.class,Pair中F代表ViewHolder中的res文件,S就是代表ViewHolder的具体对应实现类咯
2.png
2 这个itemCount默认还是原来的List.size,但是有的个别场景的话itemCount就需要手动计算
3 这个itemType的话就是很明显这里是用前面pair的F属性作为type 3.png4 上边OncreateViewHolder创建就是通过反射之类的获取(这里之前面试 今日头条老哥说还有另外一种更优解 留到以后慢慢摸索吧)
5.png具体调用看上面
网友评论