Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

GlideDrawableImageViewTarget not found in Glide-4

Why GlideDrawableImageViewTarget is not found in Glide4+? What is the alternative?

My code:

import com.bumptech.glide.request.target.GlideDrawableImageViewTarget;


Glide.with(getContext())
                    .load(R.drawable.loader_gif_image)
                    .diskCacheStrategy(DiskCacheStrategy.NONE)
                    .into(new GlideDrawableImageViewTarget(imageView));
        }
like image 536
Anu Pramod Avatar asked Jul 26 '18 04:07

Anu Pramod


People also ask

Which glide method do you use to indicate the ImageView that will contain the loaded image?

Which Glide method do you use to indicate the ImageView that will contain the loaded image? How do you specify a placeholder image to show when Glide is loading? Use the into() method with a drawable.

What is Bumptech Glide?

GitHub - bumptech/glide: An image loading and caching library for Android focused on smooth scrolling. Skip to content Toggle navigation. Product. Actions. Automate any workflow.


2 Answers

UPDATE

Use below code if you are using glide:4.9.0

    Glide.with(this)
            .load("")
            .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.NONE))
            .into(new DrawableImageViewTarget(imageView));


    // or use this

    Glide.with(this)
            .load("")
            .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.NONE))
            .into(new CustomTarget<Drawable>() {
                @Override
                public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
                    imageView.setImageDrawable(resource);
                }

                @Override
                public void onLoadCleared(@Nullable Drawable placeholder) {

                }
            });

Try this

You can use new SimpleTarget<Drawable>()

    Glide.with(this)
            .load(R.drawable.ic_favorite)
            .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.NONE))
            .into(new SimpleTarget<Drawable>() {
                @Override
                public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
                    imageView.setImageDrawable(resource);
                }
            });

Try this

You can use new Target<Drawable>()

    Glide.with(this)
            .load(R.drawable.ic_favorite)
            .apply(new RequestOptions().diskCacheStrategy(DiskCacheStrategy.NONE))
            .into(new Target<Drawable>() {
                @Override
                public void onLoadStarted(@Nullable Drawable placeholder) {

                }

                @Override
                public void onLoadFailed(@Nullable Drawable errorDrawable) {

                }

                @Override
                public void onResourceReady(@NonNull Drawable resource, @Nullable Transition<? super Drawable> transition) {
                    imageView.setImageDrawable(resource);
                }

                @Override
                public void onLoadCleared(@Nullable Drawable placeholder) {

                }

                @Override
                public void getSize(@NonNull SizeReadyCallback cb) {

                }

                @Override
                public void removeCallback(@NonNull SizeReadyCallback cb) {

                }

                @Override
                public void setRequest(@Nullable Request request) {

                }

                @Nullable
                @Override
                public Request getRequest() {
                    return null;
                }

                @Override
                public void onStart() {

                }

                @Override
                public void onStop() {

                }

                @Override
                public void onDestroy() {

                }
            });
like image 188
AskNilesh Avatar answered Oct 21 '22 21:10

AskNilesh


Update your dependency in build.gradle to implementation 'com.github.bumptech.glide:glide:4.5.0'

Try to import DrawableImageViewTarget instead of GlideDrawableImageViewTarget

Or Use code as below.

Glide.with(context).load(R.drawable.common_google_signin_btn_icon_dark).apply(new RequestOptions().placeholder(R.drawable.common_google_signin_btn_icon_dark)).into(new DrawableImageViewTarget(holder.profileImage));

Hope this will help

like image 27
Sukhbir Avatar answered Oct 21 '22 20:10

Sukhbir