android – Glide cannot resolve asBitmap()-ThrowExceptions

Exception or error:

Why I can’t resolve this method while using Glide also I can’t resolve .diskstaretegy() :

Glide.with(getActivity())
                .load(chalet.profilePhoto)
                .asBitmap() <--- cannot resolve this
                .diskCacheStrategy(DiskCacheStrategy.ALL) <--- cannot reslove this
                .fitCenter()
                .placeholder(R.drawable.logo).dontAnimate().into(mImageView);

My gradle :-

compile 'com.github.bumptech.glide:glide:4.0.0'
How to solve:

I found the way to fix it, you must add the asBitmap() right After with() and it will work just like old times.

PS: my Glide Version is 4.7.1

###

for the asBitmap you need to write it as follows:

Glide.with(getActivity()).asBitmap().load(chalet.profilePhoto).into(mImageView);

###

// Put asBitmap() right after Glide.with(context)   ,,. 4.0+
// And for SubsamplingScaleImageView use SimpleTarget

  Glide.with(context)
                .asBitmap()
                .load(images[position])
                .apply(RequestOptions.diskCacheStrategyOf(DiskCacheStrategy.AUTOMATIC))
                .into(new SimpleTarget<Bitmap>(width, height) {
                    @Override
                    public void onResourceReady(Bitmap bitmap, Transition<? super Bitmap> transition) {
                        subsampleImageView.setImage(ImageSource.bitmap(bitmap)); //For SubsampleImage
                    }
                });

###

Call asBitmap() before load()

Glide.with(context)
 .asBitmap()
 .load(uri)

###

https://bumptech.github.io/glide/doc/migrating.html#requestoptions

        Glide.with(getActivity()).asBitmap()
                .load(headerURl)
                .listener(new RequestListener<Bitmap>() {
                              @Override
                              public boolean onLoadFailed(@Nullable GlideException e, Object o, Target<Bitmap> target, boolean b) {
//                                  Toast.makeText(cxt,getResources().getString(R.string.unexpected_error_occurred_try_again),Toast.LENGTH_SHORT).show();
                                  return false;
                              }

                              @Override
                              public boolean onResourceReady(Bitmap bitmap, Object o, Target<Bitmap> target, DataSource dataSource, boolean b) {
                                  if (null == header)
                                      return false;

                                 //set image
                                  header.setImageBitmap(bitmap);

                                  //process bitmap
                                  Palette.from(bitmap).generate(
                                          new Palette.PaletteAsyncListener() {
                                              @SuppressWarnings("ResourceType")
                                              @Override
                                              public void onGenerated(Palette palette) {

                                                  int vibrantColor = palette
                                                          .getVibrantColor(R.color.primary_500);
                                                  int vibrantDarkColor = palette
                                                          .getDarkVibrantColor(R.color.primary_700);
                                                  collapsingToolbarLayout
                                                          .setContentScrimColor(vibrantColor);
                                                  collapsingToolbarLayout
                                                          .setStatusBarScrimColor(vibrantDarkColor);
                                              }
                                          });
                                  return false;
                              }
                          }
                ).submit();

###

You can set it another way like that

RequestOptions requestOptions = new RequestOptions();
requestOptions.placeholder(R.drawable.ic_placeholder);
requestOptions.diskCacheStrategy(DiskCacheStrategy.ALL)
requestOptions.error(R.drawable.ic_error);

Glide.with(context)
     .setDefaultRequestOptions(requestOptions)
     .asBitmap()
     .load(url).into(holder.imageView);

###

If you getting an error, follow the steps below.

In Glide library move .asBitmap() before the .load()

———————OR———————–

    Glide.with(context)
        .setDefaultRequestOptions(requestOptions)
        .asBitmap()
        .load(url)
        .into(holder.imageView);

Leave a Reply

Your email address will not be published. Required fields are marked *