毕加索样本错误/无法编译

时间:2014-03-18 20:00:58

标签: java android image picasso

我下载了Picasso图像缓存库并试图让示例代码正常工作。我从现有代码中设置了一个Android项目,包括picasso-2.2.0.jar和android-support-v4.jar

但是,当我尝试编译并运行它时,它表示PicassoSampleAdapter和SampleWidgetProvider文件中存在错误。

这是有问题的一行:

picasso.load(Data.URLS[new Random().nextInt(Data.URLS.length)]) //
    .placeholder(R.drawable.placeholder) //
    .error(R.drawable.error) //
    .transform(new GrayscaleTransformation(picasso)) //
    .into(updateViews, R.id.image, appWidgetIds);

这就是错误:

The method into(ImageView, Callback) in the type RequestCreator is not applicable for the arguments (RemoteViews, int, int[])

我检查了毕加索网站上的文档,实际上,我采用了这两个参数。我觉得这样一个伟大的图书馆会出现这样的错误,这似乎是不可思议的,所以我认为这一定是我在设置时做得不对的事情?其他文件中没有错误,所以我相信我的设置正确。

有人可以帮忙吗?当您尝试设置示例项目并运行它时,是否有相同的错误?

2 个答案:

答案 0 :(得分:3)

master上的示例代表master上的代码。也就是说,它只适用于master(2.3.0-SNAPSHOT)上也存在的Picasso库。 RemoteView API的into()变体尚未发布。

如果您使用的是2.2.0版,则需要使用版本2.2.0中的示例,该示例可在此处找到:https://github.com/square/picasso/tree/picasso-parent-2.2.0/picasso-sample(请注意URL中的匹配标记)。

答案 1 :(得分:0)

错误就在您打电话的位置.into(updateViews, R.id.image, appWidgetIds);它有三个变体,如http://square.github.io/picasso/javadoc/index.html所述。您可以将其更改为.into(updateViews),它应该可以正常工作。假设updateViews是您想要将最终图片加载到ImageView