报错‘Cannot resolve method with(android.content.Context)’,Picasso问题咨询
解决Picasso中
Cannot resolve method with(android.content.Context)的问题 这个问题我之前也碰到过,大概率是这几个原因导致的,一个个排查就行:
Picasso版本迭代导致方法废弃
从Picasso 2.71828版本开始,官方就废弃了with(Context)方法,换成了无参的get()方法来获取单例实例。如果你用的是较新的Picasso版本,自然会找不到with()方法。
解决办法很简单,把代码改成:Picasso.get().load(url).placeholder(R.drawable.placeholder).into(thumbnail);如果非要用旧版本的
with()方法,可以在Module级的build.gradle里指定旧版本依赖,比如:implementation 'com.squareup.picasso:picasso:2.5.2'依赖未正确导入或同步失败
要是你还没在项目里添加Picasso的依赖,或者依赖同步过程中出了问题,IDE就识别不到Picasso的类和方法。
检查Module级build.gradle的dependencies块,确保添加了正确的依赖:implementation 'com.squareup.picasso:picasso:2.71828'然后点击Sync Now按钮同步项目,等待依赖下载完成。
导入了错误的Picasso类
有时候不小心导入了其他库中同名的Picasso类(比如某些自定义类或者其他三方库),而不是Square官方的com.squareup.picasso.Picasso。
检查代码顶部的import语句,确保是:import com.squareup.picasso.Picasso;如果有其他同名的导入,删掉它即可。
Context参数的有效性(概率较低)
虽然错误提示是找不到方法,但也可以确认下传入的context是否有效——比如不要传null,在Fragment里用getActivity()而不是直接用this,确保Context对象是合法的。
内容的提问来源于stack exchange,提问作者Praveen
相关产品推荐
相关产品推荐

