安卓RecyclerView刷新或加载网络图片闪烁

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34161388/article/details/84336008

使用recycleview在加载网络图片后,如果上拉刷新或者下拉加载不做任何处理的话你会发现图片出现闪烁,下面是本人使用的方案,请大家使用

1.RecyclerView取消动画

rvCourse.setLayoutManager(new LinearLayoutManager(getActivity()));

verticalCourseAdapter = new VerticalCourseAdapter(getActivity(), courseList);

rvCourse.setAdapter(verticalCourseAdapter);

((DefaultItemAnimator)rvCourse.getItemAnimator()).setSupportsChangeAnimations(false);

2. notifyItemRangeChange替换 notifyDataSetChanged

courseList.clear();

courseList.addAll(baseResult.getResultData().getRows());

verticalCourseAdapter.notifyItemRangeChanged(0, courseList.size() - 1);

3.adapter中imageview通过tag中的url判断是否需要重新加载

String tag = (String) holder.ivVerticalClassIndex.getTag();

if (!list.get(position).getImgIntroduceFileSet().get(0).getFileUrl().equals(tag)) {

holder.ivVerticalClassIndex.setTag(null);

//设置图片

GlideUtils.loadRectangleImageWithRoundCorner((Activity) context,

list.get(position).getImgIntroduceFileSet().get(0).getFileUrl(),

holder.ivVerticalClassIndex,

10, R.mipmap.img_class_demo_pic,

R.mipmap.img_class_demo_pic);

holder.ivVerticalClassIndex.setTag(list.get(position).getImgIntroduceFileSet().get(0).getFileUrl());

}

猜你喜欢

转载自blog.csdn.net/qq_34161388/article/details/84336008