web-dev-qa-db-ja.com

Glide 4.7.1リスナーがonResourceReadyメソッドと例外リスナーで機能しない

そこ!アプリに画像を読み込むためにグライドを使用しています。以前はピカソを使用しましたが機能しましたが、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

6
Nithis Kumar

これを試して

    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);
11
Nilesh Rathod