Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.lang.IllegalArgumentException:毕加索中的路径不能为空_Java_Android_Picasso - Fatal编程技术网

java.lang.IllegalArgumentException:毕加索中的路径不能为空

java.lang.IllegalArgumentException:毕加索中的路径不能为空,java,android,picasso,Java,Android,Picasso,我正在使用毕加索从mysql数据库将图像加载到自定义listview中。当直接传递URL时,图像正在加载,但当我将URL分配给string并传递它时,它会抛出异常,表示路径不能为空 String imageStringUrl = md.Image; 图像字符串包含 我路过毕加索,如下所示 Picasso.get() .load(imageStringUrl) .into(iview);

我正在使用毕加索从mysql数据库将图像加载到自定义listview中。当直接传递URL时,图像正在加载,但当我将URL分配给string并传递它时,它会抛出异常,表示路径不能为空

String imageStringUrl = md.Image;
图像字符串包含

我路过毕加索,如下所示

Picasso.get()
.load(imageStringUrl)
.into(iview);                                                           
当我像这样通过时,我得到java.lang.IllegalArgumentException:路径不能为空。我已经尝试了上面的步骤,如下所示,但图像没有加载

Picasso.get()
.load(new File(imageStringUrl))
.into(iview);

上面的声明有什么问题?

我认为您的
md.Image
返回了一个空字符串。因此,请尝试直接将您的
图像url
放入
毕加索
中,如下所示:

Picasso.get()
.load(" http://xxx.xxx.com/images/New%20folder/Desert.jpg.")
.into(imageView);

希望它能起作用。

我也有类似的问题。只需检查您的URL字符串是否为空。如果为空,则提供默认图像或从URL加载。希望这有帮助

if (image.isEmpty()) {
   iview.setImageResource(R.drawable.placeholder);
} else{
    Picasso.get().load(image).into(iview);
  }

只需通过首先修剪字符串路径来检查url字符串是否为空,但不要像
image.isEmpty()
那样进行检查,而是通过此检查:

if (path.trim().length() == 0)
我检查了毕加索的代码,他们就是这样检查的。以下是其代码库中的代码供参考:

public RequestCreator load(String path) {
    if (path == null) {
      return new RequestCreator(this, null, 0);
    }
    if (path.trim().length() == 0) {
      throw new IllegalArgumentException("Path must not be empty.");
    }
    return load(Uri.parse(path));
  }

我也有同样的问题,但我意识到我犯了一个简单的错误

在我的代码中,我将图像URL保存在一个代码段中,然后检索图像URL,但此时我没有调用存储数据的var

imagemRef.getDownloadUrl().addOnCompleteListener(new OnCompleteListener<Uri>() {
   @Override
   public void onComplete(@NonNull Task<Uri> task) {
    Uri url = task.getResult();
    
   urlImagemSelecionada = url.toString(); // This line I have forgot
   }
});
imagemRef.getDownloadUrl().addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
Uri url=task.getResult();
urlmagemselecionada=url.toString();//我忘记了这一行
}
});
因此,出现了消息
java.lang.IllegalArgumentException:Path在毕加索中不能为空。因为参数是空的


一些简单的事情,让我损失了1个小时。但幸运的是,它现在已经被解决。

根据错误
图像
为空而非空。你确定这有一个url吗?你解决了这个问题吗?我觉得下面没有一个答案是正确的。不要试图打开链接。这是NSFW。如果数据未加载,这是另一个no pic的最佳方式,非常感谢检查我的答案,使用此if语句,您仍然可以获得exception.Strings.isEmpty的工作方式如下:“public inline fun CharSequence.isEmpty():Boolean=length==0”。因此,我不认为«trim»与否相关。这种解决方案是不完整的,我们并不总是知道链接,有时链接在一个变量内,所以请尝试给出更详细的解释