有! 我正在使用滑行将图像加载到我的应用程序中。以前我使用Picasso可以工作,但是在迁移到Glide(v4.7.1)之后,我无法使用侦听器来获取资源状态。我在下面附加了代码,请对此提供帮助。
Glide.with(SlideImageActivity.this)
.load(Constant.arrayList.get(position)
.getImage())
.apply(new RequestOptions()
.placeholder(R.color.colorPrimary)
.dontAnimate().skipMemoryCache(true))
.listener(new RequestListener<String, DrawableResource>() {
public boolean onException(Exception e, String model, Target<DrawableResource> target, boolean isFirstResource) {
spinner.setVisibility(View.GONE);
return false;
}
public boolean onResourceReady(DrawableResource resource, String model, Target<DrawableResource> target, boolean isFromMemoryCache, boolean isFirstResource) {
spinner.setVisibility(View.GONE);
return false;
}
})
.into((ImageView) imageLayout.findViewById(R.id.image));
此行下方显示错误行
new RequestListener<String, DrawableResource>()
如果我尝试以此构建apk,则会显示以下错误
错误:类型参数数量错误;必填1
IDE显示以下内容
从RequestListener派生的类匿名类必须声明为抽象或实现方法。
如果我实现了IDE推荐的方法,我将得到关注
错误:类型参数数量错误;必填1
答案 0 :(得分:6)
尝试一下
Glide.with(this)
.load("")
.apply(new RequestOptions()
.placeholder(R.color.colorPrimary)
.dontAnimate().skipMemoryCache(true))
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
spinner.setVisibility(View.GONE);
return false;
}
@Override
public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
spinner.setVisibility(View.GONE);
return false;
}
})
.into(imageView);