5

我使用 Picasso 已经有一段时间了,但我不得不将 OkHttp 库升级到 2.0.0,因此,我不得不将 Picasso 升级到 2.3.2 版本。

然而,现在毕加索根本不加载任何图像,图像视图是空的。任何时候都没有出现错误,但是当我打开 Picasso 登录时,“Hunter”似乎已被调度并开始执行,但从未完成。

所有图像都可以访问且相当小(大约 200 像素 x 100 像素)。

我正在通过毕加索的“典型”方法加载图像:

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

但是,errorimg从未显示。

我可能做错了什么?

编辑:

这是毕加索不起作用的地方之一的代码(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;
}
4

3 回答 3

3

升级OKHttp的时候,是不是也升级了okhttp-urlconnection依赖?

我遇到了这个问题,结果我仍然在 build.gradle 文件中调用 1.6.0 版的 okhttp-urlconnection。没有任何错误消息让我很清楚我忽略了这一点。

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

于 2014-07-13T20:41:57.963 回答
1

Picasso 内部没有 HTTP 客户端,因此说“支持 HTTPS”意义不大。

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

也许那是 java.net.HttpURLConnection。也许是那个性感的字节码 OkHttp 包。底线是,无论方案是什么,我们都让 HTTP 客户端处理它。

http:// 与 https:// 的任何问题都在客户端的配置中,而不是 Picasso。

杰克沃顿

因此,要加载图像,您只需在 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

于 2016-02-29T12:09:38.347 回答
0
<uses-permission android:name="android.permission.INTERNET"/>

这可能是最愚蠢的答案,但很抱歉。有时我们会忘记一些小事。你有没有检查你的许可。

于 2016-11-01T06:44:56.357 回答