gpt4 book ai didi

android - picasso 不能容忍空字符串 URL?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:35:28 24 4
gpt4 key购买 nike

我有一个使用 Picasso 加载图像的 viewHolder。数据库将返回一个 URL 路径作为字符串。所以我的代码如下(使用 Kotlin)

  Picasso.with(context).load(url).error(placeholder).transform(transformation)
.placeholder(placeholder).into(this)

加载正常。但是,有时 URL 是空的。我期待它加载占位符。但是它崩溃如下

java.lang.IllegalArgumentException: Path must not be empty.
at com.squareup.picasso.Picasso.load(Picasso.java:297)

这会迫使我明确地进行检查,这并不理想

if (url == null || url.isEmpty()) {
Picasso.with(context).load(placeholder).transform(transformation).into(this)
} else {
Picasso.with(context).load(url).error(placeholder).transform(transformation)
.placeholder(placeholder).into(this)
}

这是预期当 URL 字符串为空而不是加载占位符时 Picasso 会崩溃吗?

最佳答案

这可能为时已晚,但我今天遇到了这个错误,并且在阅读了 Picasso#load 的文档之后方法它声明传递空字符串或空白字符串将导致方法抛出 IllegalArgumentException 并且传递 null 不会抛出异常但会触发 RequestCreator#error如果提供了错误图像,它将加载错误图像,否则目标将不显示任何内容。

如果您无法控制图片 url(假设它来自服务器),您可以尝试以下操作:

 mPicasso.load(photo.isEmpty() ? null : photo)
.placeholder(placeholder)
.error(error_placeholder)
.into(target);

关于android - picasso 不能容忍空字符串 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36538194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com