Android glide Glide版本4,Glide.clear(图像视图)不再存在

Android glide Glide版本4,Glide.clear(图像视图)不再存在,android-glide,Android Glide,在recyclerView的适配器中,当调用OnBindViewHolder()并为此位置传入回收器池中的viewHolder时,imageView将使用此位置的图像更新,或者此位置根本没有图像 对于此位置没有图像的情况,使用Glide版本3,调用此clear()以清除图像视图: Glide.clear(this.theImageView) 但当升级到Glide 9时,它不再具有此清除(ImageView) 使用Glide 9清除ImageView图像的正确方法是什么 更新:解决方案 fun

在recyclerView的适配器中,当调用OnBindViewHolder()并为此位置传入回收器池中的viewHolder时,imageView将使用此位置的图像更新,或者此位置根本没有图像

对于此位置没有图像的情况,使用Glide版本3,调用此
clear()
以清除图像视图:

Glide.clear(this.theImageView)
但当升级到Glide 9时,它不再具有此
清除(ImageView)

使用Glide 9清除ImageView图像的正确方法是什么

更新:解决方案

fun ImageView.clear() {
   Glide.with(this.context).clear(this)
} 
不起作用,请参见Glide的评论:

<p> Note that this will only work if {@link View#setTag(Object)} is not called on this view outside of Glide. </p>
注意,只有在Glide之外的这个视图上没有调用{@link View#setTag(Object)}时,这才有效

/**
*取消Glide对视图可能具有的任何挂起的加载,并释放可能已加载的任何资源
*为视图加载。
*
*请注意,只有在未在此视图上调用{@link View#setTag(Object)}时,这才有效
*在滑翔之外

* *@param查看取消加载和释放资源的视图。 *@如果将Glide元数据以外的对象作为视图的元数据放置,则会引发IllegalArgumentException *标签。 *@see#清除(目标) */ 公共无效清除(@NonNull视图){ 清除(新的清除目标(视图)); }
找到了解决方案,添加kotlin扩展解决了问题:

fun ImageView.clear() {
   Glide.with(this.context).clear(this)
}
对于java

 Glide.with(context).clear(imageView);

我尝试了这一点,但出现了以下错误:您不能在视图上调用setTag(),Glide is targetingies,请参阅在该imagView上调用setTag()时,解决方案是什么<代码>要使Glide正常工作,Glide必须是唯一调用{@link*View#setTag(Object)}的东西。如果清除标记或将其放入另一个对象类型,Glide将无法*检索和取消以前的加载,这不仅会阻止Glide重用*那么你找到解决方案了吗?
 Glide.with(context).clear(imageView);