使用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());
}