毕加索没有加载图片

时间:2014-07-08 20:21:18

标签: android image loading picasso okhttp

我一直在使用Picasso很长一段时间,但我不得不将OkHttp库升级到2.0.0,因此我必须将Picasso升级到版本2.3.2。

但是,现在Picasso根本不加载任何图像,图像视图留空。任何时候都不会出现任何错误,但是当我让Picasso登录时," Hunter"似乎已被派遣并开始执行,但从未结束。

所有图像均可访问且相当小(大约200像素×100像素)。

我通过Picasso"典型的"加载图像。方法:

Picasso.with(context).load(url).error(R.drawable.errorimg).into(imageView);

但是,errorimg永远不会显示。

我可能做错了什么?

编辑:

以下是Picasso不工作的地方之一的代码(PlaceListAdapter.java - getView函数)

public View getView(int position, View convertView, ViewGroup parent) 
{
    final PBNPlace ev = values.get(position);

    LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View rowView = inflater.inflate(R.layout.places_list_item, parent, false);

    TextView titleView = (TextView)rowView.findViewById(R.id.place_title);
    ImageView placeImage = (ImageView)rowView.findViewById(R.id.place_image);

    Picasso picasso = Picasso.with(context);
    picasso.load(ev.imageURL).error(R.drawable.chat).into(placeImage);

    titleView.setText(ev.name);

    return rowView;
}

3 个答案:

答案 0 :(得分:3)

当您升级OKHttp时,您是否也升级了okhttp-urlconnection依赖项?

我遇到了这个问题,事实证明我仍然在build.gradle文件中调用了版本1.6.0的okhttp-urlconnection。没有任何错误消息让我明白我忽略了这一点。

将其更改为2.0.0解决了问题。

答案 1 :(得分:1)

Picasso里面没有HTTP客户端所以说“支持HTTPS”意味着很少。

当您传入一个网址时(无论它是否具有http://或https://的方案),我们将其传递给最合适的HTTP客户端。

也许那是java.net.HttpURLConnection。也许是性感的字节码OkHttp捆绑。最重要的是无论方案是什么,我们都让HTTP客户端处理它。

您使用http:// vs https://遇到的任何问题都在客户端的配置中,而不是Picasso。

JakeWharton

因此,对于加载图像,您只需在gradle文件中添加以下依赖项。

compile 'com.squareup.okhttp:okhttp:2.2.+'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.+'
compile 'com.squareup.picasso:picasso:2.5.2'

参考:https://github.com/square/picasso/issues/500

答案 2 :(得分:0)

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

这可能是最愚蠢的答案,但对不起。有时小事是我们忘记的。你有没有检查过你的许可。