本文介绍了滑行:onError回调的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从毕加索切换到格莱德.一切正常,除非我找不到获取错误回调的方法.我想检索一个位图,将其传递并从中生成一个Android Palette.另外,虽然可以为load调用提供errorDrawable,但使用SimpleTarget时它不会显示在onResourceReady中.

I'm switching from Picasso to Glide. Everything works fine except I cannot find a method to get an error callback. I want to retrieve a Bitmap, pass it on and generate an Android Palette from it. Also, while an errorDrawable can be provided to a load call, it won't show up in onResourceReady when using a SimpleTarget.

在毕加索,我这样做是这样的:

In Picasso I did it like this:

target = new Target() {
            @Override
            public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
                //handle Bitmap, generate Palette etc.
            }

            @Override
            public void onBitmapFailed(final Drawable errorDrawable) {
                // use errorDrawable to generate Palette
            }

            @Override
            public void onPrepareLoad(final Drawable placeHolderDrawable) {
            }
        };
        int width =  (int) DisplayUnitsConverter.dpToPx(this, 120);
        int height =  (int) DisplayUnitsConverter.dpToPx(this, 40);
        Picasso.with(this).load(config.getPathToLogo()).resize(width, height).error(errorDrawableId).into(target);

我的滑行代码如下:

Glide.with(context)
    .load(config.getPathToLogo())
    .asBitmap()
    .into(new SimpleTarget<Bitmap>(width, height) {
         @Override
         public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {
             //handle Bitmap, generate Palette etc.
         }
    });

谢谢.

推荐答案

对于具有相同问题的每个人-您都需要使用侦听器方法.例如:

For everyone with the same problem - you need to use listener method. For example:

   Glide.with(activity)
            .load(getPhoto().getUrl())
            .apply(
                    new RequestOptions()
                            .error(R.drawable.icon_placeholder)
                            .centerCrop()
            )
            .listener(new RequestListener<Drawable>() {
                @Override
                public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Drawable> target, boolean isFirstResource) {
                 //on load failed
                    return false;
                }

                @Override
                public boolean onResourceReady(Drawable resource, Object model, Target<Drawable> target, DataSource dataSource, boolean isFirstResource) {
                    //on load success
                    return false;
                }
            })
            .transition(withCrossFade())
            .into(view);

这篇关于滑行:onError回调的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-27 12:31