我一直在使用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;
}
答案 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。
因此,对于加载图像,您只需在gradle文件中添加以下依赖项。
compile 'com.squareup.okhttp:okhttp:2.2.+'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.2.+'
compile 'com.squareup.picasso:picasso:2.5.2'
答案 2 :(得分:0)
<uses-permission android:name="android.permission.INTERNET"/>
这可能是最愚蠢的答案,但对不起。有时小事是我们忘记的。你有没有检查过你的许可。