RecycleView多次调用addItemDecoration方法,间隔增大问题?
RecycleView的getItemDecorationCount在第一次绑定时为0,所以需要加一层判断。
解决办法:
if(recycleview.getItemDecorationCount()>0){
RecyclerView.ItemDecoration itemDecorationAt =recycleview.getItemDecorationAt(0);
if(itemDecorationAt==null){
recycleview.addItemDecoration(new SpacesItemDecoration(ScreenUtil.dip2px(getmActivity(), 9), ScreenUtil.dip2px(getmActivity(), 16), mMealList.size()));
}
}else{
//在这里设置每个item的间隔,为了拿到数据总量,从而确定第一个和最后一个左右的边距
recycleview.addItemDecoration(new SpacesItemDecoration(ScreenUtil.dip2px(getmActivity(), 9), ScreenUtil.dip2px(getmActivity(), 16), mMealList.size()));
}