动态高度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); 
+1

交联:https://github.com/bumptech/glide/issues/尝试了1599年 – TWiStErRob

这不是因为滑翔的,如果项数据改变调用notifyitemchanged(位置,有效载荷),然后覆盖onBindViewHolder 3参数方法

尝试使用此上RecyclerView限制的视图闪烁。

RecyclerView.ItemAnimator animator = mRecycler.getItemAnimator(); 

if (animator instanceof SimpleItemAnimator) { 
    ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); 
} 
+0

,但它不是问题。 Glide在notifydataset上重新加载其图片。如何避免此问题 –

+0

您能否使用代码片段更新您的问题? – AndroidBeginner