动态高度Glide ImageView里面RecyclerView在调用notifydatasetchanged时闪烁?
我正在创建一个RecyclerView来显示一些图像和文本,然后用户可以为RecyclerView的行添加书签。 RecyclerView的图像在宽度上匹配父级,高度为wrap_content。在点击书签时,适配器在RecyclerView中调用notifydataset。我的问题是,在调用notifydataset改变后,RecyclerView按照高度闪烁其图像。动态高度Glide ImageView里面RecyclerView在调用notifydatasetchanged时闪烁?
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
if (holder instanceof VHITEM) {
final VHITEM VHitem = (VHITEM) holder;
Glide.with(mContext)
.load(articleDataList.get(position).SourcePath)
.asBitmap()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.placeholder(R.drawable.defaultimage)
.error(R.drawable.defaultimage)
.dontAnimate()
.into(VHitem.imageViewTagPic);
}
}
OnButton点击
VHItem.imageViewAddRemoveBookmark.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
notifyDataSetChanged(); }
}
RecyclerView配置
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
recyclerView.setLayoutManager(linearLayoutManager);
这不是因为滑翔的,如果项数据改变调用notifyitemchanged(位置,有效载荷),然后覆盖onBindViewHolder 3参数方法
尝试使用此上RecyclerView
限制的视图闪烁。
RecyclerView.ItemAnimator animator = mRecycler.getItemAnimator();
if (animator instanceof SimpleItemAnimator) {
((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
}
,但它不是问题。 Glide在notifydataset上重新加载其图片。如何避免此问题 –
您能否使用代码片段更新您的问题? – AndroidBeginner
交联:https://github.com/bumptech/glide/issues/尝试了1599年 – TWiStErRob