2

我正在尝试加载此图片:http ://api.aircountr.com/3UE2c8CtxmzZfRan0hex5uWGkmzl0BWG.jpg

但是使用毕加索它没有被加载。我已经经历了很多类似的问题,但没有找到解决方案。

每次我收到 onError() 回调。

if (mDataList.get(position).getImageUrl() != null && !mDataList.get(position).getImageUrl().equals("")) {
            Picasso.with(mContext).load(mDataList.get(position).getImageUrl().trim()).into(iv_invoiceImg, new Callback() {
                @Override
                public void onSuccess() {
                    Log.d("rajcheck", "success");
                }

                @Override
                public void onError() {
                    Log.d("rajcheck", "fail" + ""+mDataList.get(pos).getImageUrl().trim()+"a");
                }
            });
        } else iv_invoiceImg.setImageResource(R.drawable.ic_logo);

更新 - 问题已解决 图片 URL 不包含问题所在的“http://”。

4

3 回答 3

2

确保您已授予 App 访问internet权限AndroidManifest.xml

<uses-permission-sdk-23 android:name="android.permission.INTERNET"></uses-permission-sdk-23>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
于 2016-06-15T05:37:39.923 回答
1

我已经尝试过您的网址及其在我身边的工作

请检查

在 manifest.xml

<uses-permission android:name="android.permission.INTERNET"/>

主要活动

Picasso.with(MainActivity.this)
                .load("http://api.aircountr.com/3UE2c8CtxmzZfRan0hex5uWGkmzl0BWG.jpg")
                .into(imgView, new Callback() {
                    @Override
                    public void onSuccess() {
                        Toast.makeText(SecondActivity.this, "Testing", Toast.LENGTH_SHORT).show();
                    }

                    @Override
                    public void onError() {

                    }
                });

输出在此处输入图像描述

于 2016-06-15T05:49:47.297 回答
1

首先改变这个条件

if (mDataList.get(position).getImageUrl() != null && !mDataList.get(position).getImageUrl().equals("")) {

if(!TextUtils.isEmpty(mDataList.get(position).getImageUrl()))

看到您的图像后,它不是缩略图图像,因此加载时间过长。

所以在onSuccess()方法中使用加载你的真实图像

@Override
        public void onSuccess() {
            Picasso.with(context)
                    .load(mDataList.get(position).getImageUrl()) 
                    .placeholder(R.drawable.ic_logo)
                    .into(iv_invoiceImg);
        }
于 2016-06-15T05:43:30.267 回答