运行时异常:使用Glide加载图像时setDataSource失败:status =

4

我正在使用Glide从手机内存中加载图像。我的ImageView定义如下:

   ImageView ivx=(ImageView)view.findViewById(R.id.ivx);

Glide是一种加载图片的代码,用于将手机中的图像加载到图像视图中,具体代码如下:

  Glide.with(getActivity()).load(new File("/storage/emulated/0/somefolder/MEDIA/PROFILEIMAGES/PROFILE_image1.jpg").toString())
            .listener(new RequestListener<String, GlideDrawable>() {
                @Override
                public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                    Log.e("xmx1","Error "+e.toString());
                    return false;
                }

                @Override
                public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                    Log.e("xmx1","no Error ");
                    return false;
                }
            })
            .into(ivx);

我一直面临的问题是,这段代码会抛出异常:
  Error java.lang.RuntimeException: setDataSource failed: status = 0x80000000

我已经检查了文件,文件在文件夹中!但是Glide没有将图像文件加载到图像视图中!

请问有人可以告诉我我做错了什么吗!

提前致谢!


在我的情况下,我尝试加载服务器上没有找到的PNG文件。 - CoolMind
1个回答

6

代码看起来没问题,但是0x80000000意味着文件不完整、损坏或类似的情况。

所以可以尝试:使用其他图像,或者先将图像路径放入字符串中,然后作为新文件打开。


谢谢,这解决了我的问题,并给我提供了正确的想法,帮助我理解正在发生的事情。 - The Angel Cat
当我使用一些 SVG 时,它失败了,但当我使用其他图像时,它可以工作。 - Marian Paździoch

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