我正在使用Glide从手机内存中加载图像。我的图像视图定义为:
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);
我遇到的问题是这段代码抛出了一个Exception:
Error java.lang.RuntimeException: setDataSource failed: status = 0x80000000
我已检查过该文件,文件夹中有文件!但Glide没有将图像文件加载到图像视图中!
有人可以告诉我,我做错了什么!
提前致谢
答案 0 :(得分:1)
嗯,代码似乎很好,但 0x80000000 意味着该文件不完整,已损坏或类似。
所以尝试:其他图片,或尝试先将图片路径放在字符串中,然后将其作为新文件打开。