RecycleView 刷新时出现 Item 与 Item之间间距越来越大

RecycleView 刷新时出现 Item 与 Item之间间距越来越大的bug
RecycleView 刷新时出现 Item 与 Item之间间距越来越大

执行刷新操作后 ,宽度*2了

RecycleView 刷新时出现 Item 与 Item之间间距越来越大
再下拉,宽度继续增加

RecycleView 刷新时出现 Item 与 Item之间间距越来越大
1.检查排除是RecycleView 缓存机制的问题
2.项目中设置了一下代码,该方法是给item增加间距,初始化显示也是正确的间距。
RecycleView 刷新时出现 Item 与 Item之间间距越来越大
那么是什么原因导致的呢? 打开源码:

RecycleView 刷新时出现 Item 与 Item之间间距越来越大
itemDecoration是添加到 mItemDecorations下的,而且是累积的,那么问题就出现在这里了
RecycleView 刷新时出现 Item 与 Item之间间距越来越大
每次累积不符合我们的需求呀,所以我们得在下拉刷新时(初始化),清空 mItemDecorations数组
RecycleView 刷新时出现 Item 与 Item之间间距越来越大
recycleView控件提供了以上方法清空ItemDecoration,所以根据需求,用上面的方法清空mItemDecorations数组即可