首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >毕加索不加载图像

毕加索不加载图像
EN

Stack Overflow用户
提问于 2014-07-09 04:21:18
回答 3查看 5.8K关注 0票数 5

我已经使用毕加索很长一段时间了,但我不得不将OkHttp库升级到2.0.0,因此,我不得不将毕加索升级到2.3.2版本。

然而,现在毕加索根本不加载任何图像,图像视图是空的。任何时候都不会出现错误,但当我打开Picasso登录时,"Hunter“似乎被调度并开始执行,但永远不会结束。

所有的图像都是可访问的,而且都很小(大约200px乘100px)。

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

代码语言:javascript
代码运行次数:0
运行
复制
Picasso.with(context).load(url).error(R.drawable.errorimg).into(imageView);

但是,errorimg永远不会显示。

我能做错什么呢?

编辑:

下面是毕加索无法工作的一个地方的代码(PlaceListAdapter.java - getView函数)

代码语言:javascript
代码运行次数:0
运行
复制
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;
}
EN

回答 3

Stack Overflow用户

发布于 2014-07-14 04:41:58

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

我遇到了这个问题,结果发现我仍然在我的build.gradle文件中调用okhttp-urlconnection的1.6.0版本。没有错误消息让我很明显地看到我忽略了这一点。

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

票数 3
EN

Stack Overflow用户

发布于 2016-02-29 20:09:38

毕加索没有内置超文本传输协议客户端,所以说“支持超文本传输协议”意义不大。

当你传入一个url时(不管它的模式是http://还是https://),我们都会把它传递给最合适的超文本传输协议客户端。

也许那就是java.net.HttpURLConnection。也许是因为那个漂亮的字节码OkHttp包。底线是,无论方案是什么,我们只是让HTTP客户端来处理它。

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

JakeWharton所说

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

代码语言:javascript
代码运行次数:0
运行
复制
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

票数 1
EN

Stack Overflow用户

发布于 2016-11-01 14:44:56

代码语言:javascript
代码运行次数:0
运行
复制
<uses-permission android:name="android.permission.INTERNET"/>

这可能是最愚蠢的答案,但很抱歉。有时候,我们会忘记一些小事情。你检查过你的权限了吗。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24641063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档