使用 MVP 模式实现 Glide 回调
Implement Glide Callbacks with an MVP pattern
最近我用这个在我的视图中加载图像
Glide.with(getApplicationContext()).load(url).into(imageView);
现在,我很想实现一个带有接口的回调,以了解何时从 url 获取图像,我需要这个回调来显示我制作的自定义进度条。
搜索我找到了这个,但不是我想要的
.listener(new RequestListener<Uri, GlideDrawable>() {
@Override public boolean onException(Exception e, Uri model, Target<GlideDrawable> target, boolean isFirstResource) {
return false;
}
@Override public boolean onResourceReady(GlideDrawable resource, Uri model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
})
.into(imageView)
;
因为它没有为资源定义自定义回调接口,有什么办法可以附加一个回调到滑行,这样我就知道图片下载何时完成?
您可以将上述方法与 .listener() 一起使用,但将其传递给您定义的新 class 类型的对象。新的 class 实现 RequestListener 并在构造函数中将您想要的任何自定义回调对象作为参数。下载已在 onResourceReady() 中准备就绪。
假设您将自定义回调作为对象:
CustomCallback CustomCallback;
并在使用滑行加载图像之前开始您的进度:
customCallback.startProgressBar();
Glide.with(this)
.listener(new CustomRequestListener(customCallback))
.into(imageView);
习俗 class 是:
private static class CustomRequestListener implements RequestListener<Uri, GlideDrawable> {
private CustomCallback cc;
public CustomRequestListener(CustomCallback cc) {
this.cc = cc;
}
@Override public boolean onException(Exception e, Uri model, Target<GlideDrawable> target, boolean isFirstResource) {
cc.stopProgressBar();
return false;
}
@Override public boolean onResourceReady(GlideDrawable resource, Uri model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
cc.stopProgressBar();
return false;
}
}
最近我用这个在我的视图中加载图像
Glide.with(getApplicationContext()).load(url).into(imageView);
现在,我很想实现一个带有接口的回调,以了解何时从 url 获取图像,我需要这个回调来显示我制作的自定义进度条。
搜索我找到了这个,但不是我想要的
.listener(new RequestListener<Uri, GlideDrawable>() {
@Override public boolean onException(Exception e, Uri model, Target<GlideDrawable> target, boolean isFirstResource) {
return false;
}
@Override public boolean onResourceReady(GlideDrawable resource, Uri model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
})
.into(imageView)
;
因为它没有为资源定义自定义回调接口,有什么办法可以附加一个回调到滑行,这样我就知道图片下载何时完成?
您可以将上述方法与 .listener() 一起使用,但将其传递给您定义的新 class 类型的对象。新的 class 实现 RequestListener 并在构造函数中将您想要的任何自定义回调对象作为参数。下载已在 onResourceReady() 中准备就绪。 假设您将自定义回调作为对象:
CustomCallback CustomCallback;
并在使用滑行加载图像之前开始您的进度:
customCallback.startProgressBar();
Glide.with(this)
.listener(new CustomRequestListener(customCallback))
.into(imageView);
习俗 class 是:
private static class CustomRequestListener implements RequestListener<Uri, GlideDrawable> {
private CustomCallback cc;
public CustomRequestListener(CustomCallback cc) {
this.cc = cc;
}
@Override public boolean onException(Exception e, Uri model, Target<GlideDrawable> target, boolean isFirstResource) {
cc.stopProgressBar();
return false;
}
@Override public boolean onResourceReady(GlideDrawable resource, Uri model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
cc.stopProgressBar();
return false;
}
}