我正在使用文件选择器将图像作为文件,然后我想用Glide将其加载到ImageView中。
我正在尝试使用此代码,但无法将图片加载到图片视图中。
Glide.with(getApplicationContext())
.load(Uri.fromFile(imageFile))
.error(R.drawable.ic_person_gray)
.listener(new RequestListener<Uri, GlideDrawable>() {
@Override public boolean onException(
Exception e, Uri model, Target<GlideDrawable> target, boolean isFirstResource
) {
Timber.d(e.getMessage());
return false;
}
@Override public boolean onResourceReady(
GlideDrawable resource,
Uri model,
Target<GlideDrawable> target,
boolean isFromMemoryCache,
boolean isFirstResource
) {
editProfilePresenter.uploadProfilePicture(imageFile);
return false;
}
})
.into(ivAvatar);
当我进行调试时,它永远不会到达 onException 或 onResourceReady 中的调试点。
我如何解决这个问题?
答案 0 :(得分:0)
你不需要那里的Uri,你可以只获取文件的路径,你的听众将会是这样的 我的前任:
Glide.with(context).load(yourFile.getAbsolutePath()).centerCrop().listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
spinKitView.setVisibility(View.GONE);
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
spinKitView.setVisibility(View.GONE);
return false;
}
}).into(ivAvatar);
SpinkitView只是一个显示加载动画的视图(如果需要时间来加载图片)
答案 1 :(得分:0)
使用Uri.parse(imageFile.getAbsolutePath())