TASTY有哪些产品类型

下面以一个故事来讲来说明这中方式是怎么实现的

大家都了解一般首页是非常复杂的,去年初项目引入vlayout来解决首页复杂布局的问题后来对vlayout和databinding结合进行了封装,使用起來更方便简单不仅首页使用,很多页面都在用还封装了单纯列表样式的Activity,刷新加载的Activity这样很开心的过了很久。由于vlayout项目一直比较活躍在满足各种各样的需求上一直在打补丁,我也是一直在把它更新为最新版本直到又一次更新我的的列表不显示内容了,经过一上午嘚排查找到了问题。是在合并一个同学的PR时引入的当时我还提了个issue 升级后出现onBindViewHolder未分发的问题,并给作者提了建议加强Code Review,其实这时候峩就没有那么happy了

在一次需求中,PM提出了可以删除列表中某一条目的需求在之前封装的基础上很简单就实现了。这时想加一个移除的动畫吧让APP活泼点,不是那么生硬这可难住了我,一上午硬是没搞出来在别的同学的issue 怎么正确的使用notifyItemRemoved,正是这个问题使得我有了放弃使用vlayout的想法。不禁问自己我为什么要使用它,没错就是为了使复杂布局更方便管理现在看来有悖于初衷。也许vlayout有删除动画的简单实现方式而我没有找到,但是我决定不再使用它

放弃之后面临的另一个问题是需求还是要做,项目还是要按时上线冒出了第一个想法是找找其他的轮子吧,MultiItem github上的介绍是一个优雅的实现多类型的RecyclerView类库窃喜,这不正是我想要的他的思想是给BaseItemAdapter(设置给RecyclerView)注册一系列的Adapter,然后根据需要处理的类来区分是要选择哪个被代理的Adapter

我要回帖

 

随机推荐