Fresco中的setImageURI(url)已被弃用,应该使用什么代替?

5

我正在使用Fresco Android库从URL获取图片。 我可以成功地获得图片,但问题是setImageURI(url) 已经被弃用了。enter image description here 所以我无法找到替代方法。为了避免在我的代码中使用已弃用的函数。

2个回答

5

SimpleDraweeView#setImageURI(Uri) 实际上已经被 @undeprecated(https://github.com/facebook/fresco/blob/master/drawee/src/main/java/com/facebook/drawee/view/SimpleDraweeView.java#L117),但是这个命令不是标准的 JavaDoc 命令,而且没有更好的方法使在父类中标记为弃用的内容恢复使用。

然而,你应该使用SimpleDraweeView#setImageURI(Uri uri, @Nullable Object callerContext)。Caller context 可以为 null,或者可以是其他元数据(例如可用于更好地识别图像请求来源的字符串 TAG)。


3
您可以使用以下方法:setImageURI(String uriPath)
val uriPath = arrayList!![position].getUrl()
draweeView.setImageURI(uriPath)

1
不一样。在你的方法中,它使用URI作为参数,但是这里我正在使用另一个使用String作为参数的方法。 - Avijit Karmakar
有4个重载函数,它们全部被弃用了吗? - Nick
谢谢。现在它不再显示为已弃用。 - Armen Hovhannisian
@ArmenHovhannisian 很酷 :) - Avijit Karmakar
然而,如果你只是为了方法调用而从Uri -> String进行转换,那么你正在做不必要的工作,因为它会在内部转换回Uri。请参见以下链接中的我的评论,以获取其他替代方案。https://github.com/facebook/fresco/blob/master/drawee/src/main/java/com/facebook/drawee/view/SimpleDraweeView.java#L155 - Alexander Oprisnik
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接