首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java.lang.IllegalArgumentException:目标不能为null。在使用picasso lib时

java.lang.IllegalArgumentException:目标不能为null 是一个Java编程语言中的异常错误。它表示在使用Picasso库时,传递给该库的目标参数为null。

Picasso是一个流行的Android图片加载库,用于简化图片加载和缓存的过程。它提供了简单易用的API,可以从网络、资源文件或本地文件加载图片,并自动处理图片的缩放、裁剪和缓存。

当出现java.lang.IllegalArgumentException:目标不能为null错误时,意味着在调用Picasso的加载方法时,传递给它的目标参数为null。目标参数通常是一个ImageView或其他可显示图片的视图组件,用于展示加载的图片。

解决这个错误的方法是确保传递给Picasso的目标参数不为null。可以通过以下步骤进行排查和修复:

  1. 检查代码中的目标参数:查找使用Picasso加载图片的代码,并确认传递给Picasso的目标参数是否为null。确保目标参数是正确的ImageView或其他可显示图片的视图组件。
  2. 确保目标参数已正确初始化:如果目标参数是在代码中动态创建的,确保在传递给Picasso之前已正确初始化。检查是否在传递之前对目标参数进行了null检查和初始化操作。
  3. 检查Picasso版本和配置:确保使用的Picasso库版本是最新的,并且与项目的其他依赖库兼容。检查Picasso的配置是否正确,例如是否添加了必要的权限和依赖项。
  4. 检查网络连接和资源文件:如果使用Picasso从网络加载图片,请确保设备有可用的网络连接,并且图片的URL地址是正确的。如果从资源文件或本地文件加载图片,请确保文件存在且可访问。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云对象存储(COS):提供可扩展的云端存储服务,适用于图片、视频、音频等多媒体文件的存储和管理。详情请参考:https://cloud.tencent.com/product/cos
  • 腾讯云云服务器(CVM):提供弹性、安全、稳定的云服务器,可用于部署和运行各种应用程序。详情请参考:https://cloud.tencent.com/product/cvm
  • 腾讯云人工智能(AI):提供丰富的人工智能服务和工具,包括图像识别、语音识别、自然语言处理等。详情请参考:https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):提供全面的物联网解决方案,包括设备接入、数据管理、应用开发等。详情请参考:https://cloud.tencent.com/product/iot
  • 腾讯云区块链(BCBaaS):提供可信赖的区块链服务,用于构建和管理区块链应用和网络。详情请参考:https://cloud.tencent.com/product/baas
  • 腾讯云游戏多媒体引擎(GME):提供高质量的游戏音视频通信服务,支持实时语音聊天、语音识别等功能。详情请参考:https://cloud.tencent.com/product/gme
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 框架学习4:一次读懂热门图片框架 Picasso 源码及流程

这里我们可以学习到的是:如果一个请求参数很多,我们最好用一个类给它封装起来,避免传递传递多个参数;如果经常使用的话,还可以创建一个对象池,节省开销。...除了 Picasso ,其他比较知名的框架都会用到“外观模式” ,我们在编写复杂逻辑或者 SDK 应该在完成各个子模块以后,它们的上面增加一层,由这一层来和各个模块交互,给使用者提供统一、简单的调用接口...的下载是使用 OkHttp3 实现的 缓存使用的 LruCache,底层实现是 LinkedHashMap() 线程池是自定义的,我们后面介绍 默认的请求转换为转换 Picasso.get() //...,Picasso 会比较图片的尺寸,因此我们在下载图片时,最好注意这么几点: 让服务端配置多图 客户端需要小图,传入尺寸,不要直接使用原图 这样的话可以避免由于图片太大每次都去下载原图导致的 OOM...(从取消、暂停、恢复请求学到的) 对于同一个地址的图片,如果我们使用 Picasso 请求使用不同的配置(比如旋转角度不同、裁剪属性不同、修改尺寸不同、变换属性不同),会导致 Picasso 重新加载

70940
  • 2. Bean Validation声明式校验方法的参数、返回值

    小贴士:有的人认为把约束注解标注属性上,和标注set方法上效果是一样的,其实不然,你有这种错觉全是因为Spring帮你处理了写东西,至于原因将在后面和Spring整合使用时展开 校验方法 对方法的校验是本文的重点... 不能为null: null java.lang.IllegalArgumentException: 参数错误 ......{ ... } 再次运行测试程序,控制台输出: save.arg0.name 不能为null: null save.arg0.age 不能为null: null java.lang.IllegalArgumentException...至于为何这么说,后面和Spring整合使用时给你讲得明明白白的。 加餐2:注解应该写在接口上还是实现上? 这是之前我面试比较喜欢问的一个面试题,因为我认为这个题目的实用性还是比较大的。...控制台输出: save.arg0.name 不能为null: null save.arg0.age 不能为null: null java.lang.IllegalArgumentException:

    1.1K20

    2. Bean Validation声明式校验方法的参数、返回值

    小贴士:有的人认为把约束注解标注属性上,和标注set方法上效果是一样的,其实不然,你有这种错觉全是因为Spring帮你处理了写东西,至于原因将在后面和Spring整合使用时展开 校验方法 对方法的校验是本文的重点... 不能为null: null java.lang.IllegalArgumentException: 参数错误 ......{ ... } 再次运行测试程序,控制台输出: save.arg0.name 不能为null: null save.arg0.age 不能为null: null java.lang.IllegalArgumentException...至于为何这么说,后面和Spring整合使用时给你讲得明明白白的。 加餐2:注解应该写在接口上还是实现上? 这是之前我面试比较喜欢问的一个面试题,因为我认为这个题目的实用性还是比较大的。...控制台输出: save.arg0.name 不能为null: null save.arg0.age 不能为null: null java.lang.IllegalArgumentException:

    1.2K71

    【翻译】MongoDB指南CRUD操作(一)

    中,插入操作的目标是一个集合。...db.users.find( { "favorites.artist": "Picasso" } ) 2.6 查询数组 当字段值为数组,可以使用精确的数组匹配条件,或者指定数组中的值。...0或false表示字段包含在返回的结果文档中。 当为表达式,要使用投影器操作符。 注: 对于_id字段,为使其包含在返回结果中,不用明确指定“_id:1”。...2.10 查询null或缺失的字段 MongoDB 中,不同的操作符对待null值是不同的。 本页中的例子mongo shell中执行db.collection.find()方法。..." : 901 }    ] ) 相等过滤器 查询匹配文档{ name : null }检索出这样的文档:文档包含值为null的name字段,或者文档包含name字段。

    5.4K90

    图片加载利器——Picasso

    ").into(imageView); Picasso不仅实现了图片异步加载的功能,还解决了android中加载图片时需要解决的一些常见问题: 1.adapter中需要取消已经不在视野范围的ImageView...2.使用复杂的图片压缩转换来尽可能的减少内存消耗 3.自带内存和硬盘二级缓存功能 特性以及示例代码: ADAPTER 中的下载:Adapter的重用会被自动检测到,Picasso会取消上次的加载 @Override...convertView, ViewGroup parent) { SquaredImageView view = (SquaredImageView) convertView; if (view == null...Place holders-空白或者错误占位图片:picasso提供了两种占位图片,未加载完成或者加载发生错误的需要一张图片作为提示。...float pivotX, float pivotY) 围绕着一个点旋转制定的度数 centerCrop() centerInside()这俩太常用了 不说了 onlyScaleDown 只要图像大小大于目标大小

    60930

    Android精通之OrmLite数据库框架,Picasso框架,Okio框架,OKHttp框架

    标题图 OrmLite基础知识 什么是OrmLite框架,我没用这个框架,不知道它有多好,用了才知道很方便哦,为了提供开发效率,Android开发者需要懂得运行多种框架进行开发。...并重写两个方法: onCreate()和onUpgrade() OrmLite框架中: OrmLite使用注解 自己创建一个实体类对应类 @中代表数据表(表名=“值为表名的名称,字段列的名称”)...OrmLiteSqliteOpenHelper { //这里创建一个构造函数,有参 private DatabaseHelper(Context context) { super(context, DB_NAME, null...//设置图像 Picasso picasso = Picasso.with(this); RequestCreator request = picasso.load(PATH_IMAGE_URI);...❤️ 编辑 :达叔 信箱:2397923107@qq.com 定位:分享 Android&Java 知识点 我的目标是——每天不断更

    1.2K30

    【译】列表视图中处理空值

    我们将在SimpleImageListAdapter类中进行演示,你应该已经ListView blog post of this Picasso series中略微的了解过了。...由于ListView中的ImageView是通过系统的调度来实现复用的,所以当用户快速滚动可能出现图片错乱的现象,而这样做能够有效避免当前Item拿到了先前的图像,而造成图像显示不准确的情况发生。...你不应该使用Picasso去置空ImageView,你应该调用imageView.setImageDrawable(null)。...选项2:显示占位图 另一个选择就是使用占位图来代替空白的ImageView。这种完全取决于你的个人观念和用户体验。 如果你决定使用一个占位图,就应该通过Picasso来实现它。...(imageView); imageView.setImageDrawable(null); // option 2: load placeholder with Picasso

    1.2K30

    Picasso:开启大前端的未来

    Picasso源自我们对大前端实践的重新思考,以简洁高效的架构达成高性能的页面渲染目标。...一个强调线性排布,一个强调盒子模式、伸缩等概念,这些模型布局需求和模型概念匹配,就不得不借助编程语言进行干预。...就目前Picasso美团移动团队实践来看,同一个页面使用Picasso技术实现会获得更好的性能表现。...而Picasso渲染引擎,将传统原生业务逻辑开发所能做的性能优化做到了“统一复用”,实现了一次优化,全线受益的目标Picasso美团内部的应用 ?...到发稿,集团内部Picasso应用领先的BG已经实现Picasso动态化技术覆盖80%以上的业务开发,相信经过更长时间的孵化,Picasso会成为美团移动开发技术的“神兵利器”,助力公司技术团队实现高速发展

    1.1K30

    picasso图片缓存框架

    picasso使用简单,如下 Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);   主要有以下一些特性...: adapter中回收和取消当前的下载; 使用最少的内存完成复杂的图形转换操作; 自动的内存和硬盘缓存; 图形转换操作,如变换大小,旋转等,提供了接口来让用户可以自定义转换操作; 加载载网络或本地资源...因为可能会涉及多线程,所以存取的时候都会加锁。而且每次set操作后都会判断当前缓存区是否已满,如果满了就清掉最少使用的图形。...@Override public void complete(Bitmap result, Picasso.LoadedFrom from) {   if (result == null) {...()的时候会将执行所需的所有必备元素创建出来,如缓存cache、执行executorService、调度dispatch等,load()创建Request,into()中创建action、bitmapHunter

    1.8K80

    【译】开始使用,简单加载

    有经验的Android开发者可以跳过这段,而对于初学者来说:你一定会问,为什么要使用Picasso来替换目前已有的图像加载方案。...图像处理Android中应当是非常谨慎的,因为它会把图片一个像素接一个像素的加载到内存中。...如果你使用一个经过良好测试的类库,如Picasso,那么复杂的网络连接,缓存以及图片处理等操作上,将会节省很多时间,而且也不必为其感到头疼。 在这一系列中,我们将关注Picasso的一些特性。...with(Context context) - Context对于很多Android API的调用都是必须的,同样Picasso例外。...into(ImageView targetImageView) - 这个目标ImageView就是图片最终要展示的地方。

    52320

    Android必须要掌握的东西

    减少视图层级 通过工具分析视图层级, 优先相对布局, 约束布局 merge标签, 去处理子布局的根视图和父布局是同一类型的情况 延迟加载的ViewStub 通过这个不可见的和能在运行期间延迟加载目标视图的...使用HashMap,即使你只设置了一个基本数据类型的键,比如说int,但是也会按照对象的大小来分配内存,大概是32字节,而不是4字节。因此最好的办法就是像上面所说的一样,使用优化过的数据集合。..._8888 代表32位ARGB位图 ARGB_4444 代表16位ARGB位图 RGB_565 代表8位RGB位图 使用成熟的图片框架Picasso, ImageLoader 当内存紧张释放内存...Picasso Picasso不仅实现了图片异步加载的功能,还解决了android中加载图片时需要解决的一些常见问题: 1.adapter中需要取消已经不在视野范围的ImageView图片资源的加载...()的时候会将执行所需的所有必备元素创建出来,如缓存cache、执行executorService、调度dispatch等,load()创建Request,into()中创建action、bitmapHunter

    49910
    领券