使用Picasso库从https url加载图像时出错

时间:2018-02-01 07:06:19

标签: android picasso

在我的应用程序中,我正在尝试使用Picasso库从https URL加载图像。我无法将图像加载到ImageView中。我正在使用Picasso 2.5.2,我将图像设置如下:

  Picasso.with(mContext)
            .load(GlobalVariable.movieDetails.get(0).getVideo_cover_image())
            .placeholder(R.drawable.animation_placeholder)
            .error(R.drawable.animation_placeholder)
            .into(iv_image);

3 个答案:

答案 0 :(得分:1)

试试这个

if (TextUtils.isEmpty(imageUrl) && !isValidUrl(imageUrl)) {
                iv_image.setImageResource(R.drawable.default);

            } else {
                Picasso.with(context)
                        .load(imageUrl)
                        .resize(70, 70)//if you want resize image
                        .centerInside()
                        .into(iv_image, new com.squareup.picasso.Callback() {
                            @Override
                            public void onSuccess() {

                            }

                            @Override
                            public void onError() {
                                iv_image.setImageResource(R.drawable.default);
                            }
                        });
            }

验证网址

 public static boolean isValidUrl(String string) {

    boolean b = Patterns.WEB_URL.matcher(string).matches();
    return b;
}

答案 1 :(得分:0)

Picasso为图像加载提供了一个监听器。

使用以下代码并检查图像加载状态是成功还是错误。

 Picasso.with(mContext)
        .load(GlobalVariable.movieDetails.get(0).getVideo_cover_image())
        .placeholder(R.drawable.animation_placeholder)
        .error(R.drawable.animation_placeholder)
        .into(iv_imagenew, 
                    new com.squareup.picasso.Callback() {
                    @Override
                    public void onSuccess() {
                          //Image Loaded
                    }

                    @Override
                    public void onError() {
                         //Error while Loading
                    }
                });

答案 2 :(得分:0)

请使用picaso的resize(horizo​​ntalSize,verticalSize)方法调整图像大小。可能是你的图片大小很大,这就是为什么它不会加载所以,请尝试调整大小(horizo​​ntalSize,verticalSize)

Picasso.with(context)
       .load(GlobalVariable.movieDetails.get(0).getVideo_cover_image())
       .placeholder(R.drawable.animation_placeholder)
       .error(R.drawable.animation_placeholder)
       .into(iv_image);
       .resize(600, 200) // resizes the image to these dimensions (in pixel). does not respect aspect ratio
       .into(imageViewResize);