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

空对象引用上的ImageView.setImageDrawable(android.graphics.drawable.Drawable)‘

空对象引用是指在程序中使用了一个空对象(null)的引用,而没有对其进行有效的判断,导致在调用该对象的方法或属性时出现异常。

在Android开发中,ImageView是用于显示图片的控件,setImageDrawable(android.graphics.drawable.Drawable)是ImageView的一个方法,用于设置ImageView的图片资源。当我们调用该方法时,如果传入的Drawable对象为空(null),就会出现空对象引用异常。

为了避免空对象引用异常,我们可以在调用该方法之前,先对传入的Drawable对象进行非空判断。例如:

代码语言:txt
复制
ImageView imageView = findViewById(R.id.imageView);
Drawable drawable = getDrawableFromSomewhere(); // 从某处获取Drawable对象

if (drawable != null) {
    imageView.setImageDrawable(drawable);
} else {
    // 处理Drawable为空的情况
}

在这个例子中,我们先通过findViewById方法获取到一个ImageView对象,然后从某处获取一个Drawable对象。在调用setImageDrawable方法之前,我们先判断drawable是否为空,如果不为空,则调用该方法设置ImageView的图片资源;如果为空,则可以根据实际需求进行相应的处理,例如显示默认图片或者给出提示信息。

对于空对象引用异常的处理,可以根据具体情况选择合适的方式,例如使用条件判断、try-catch语句等。在实际开发中,我们应该养成良好的编程习惯,对可能为空的对象进行判断,以提高程序的健壮性和稳定性。

腾讯云提供了丰富的云计算产品和服务,其中与图片处理相关的产品包括腾讯云图片处理(Image Processing)和腾讯云智能图像(Intelligent Image)。腾讯云图片处理提供了丰富的图片处理功能,包括缩放、裁剪、旋转、水印、滤镜等,可以满足不同场景下的图片处理需求。腾讯云智能图像提供了图像识别、人脸识别、图像审核等功能,可以应用于人工智能、多媒体处理等领域。

腾讯云图片处理产品介绍链接地址:https://cloud.tencent.com/product/imgpro 腾讯云智能图像产品介绍链接地址:https://cloud.tencent.com/product/tii

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JavaScript 判断对象数组方法

所以,完整检验数组表达式如下: // 满足以下判断表达式都是 数组 [] Array.prototype.isPrototypeOf(obj) && obj.length === 0 三、判定对象方法...分析:和判断对象类似的,我们只要能验证这个对象keys长度是0,那就是个对象了。...var obj = {}; Object.prototype.isPrototypeOf(obj); // true 完整检验对象表达式如下: // 满足以下判断表达式都是 对象 Object.prototype.isPrototypeOf...四、一个判断参数为函数封装 结合上面的对象数组检测方法,我们可以封装一个判断参数为函数。...一个讨巧判断数组、对象方法: var item = []; console.log(JSON.stringify(item) === '[]'); // true var item = {}; console.log

29K43
  • java判断对象_Java判断对象是否为(包括null ,””)方法

    本文实例为大家分享了Java判断对象是否为具体代码,供大家参考,具体内容如下 package com.gj5u.publics.util; import java.util.List; /** *...判断对象是否为 * * @author Rex * */ public class EmptyUtil { /** * 判断对象 * * @param obj * 对象名 * @return...if ((obj instanceof String)) { return ((String) obj).trim().equals(“”); } return false; } /** * 判断对象不为...* * @param obj * 对象名 * @return 是否不为 */ public static boolean isNotEmpty(Object obj) { return !...isEmpty(obj); } } 以上所述是小编给大家介绍Java判断对象是否为(包括null ,””)方法详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家

    7K10

    java怎么判断对象不为_java判断对象是否为方法

    java判断对象是否为方法 发布时间:2020-06-25 14:39:17 来源:亿速云 阅读:134 作者:Leah 这篇文章将为大家详细讲解有关java判断对象是否为方法,文章内容质量较高...这两种StringUtils工具类判断对象是否为是有差距:StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下StringUtils...类,判断是否为方法参数是字符序列类,也就是String类型 StringUtils.isEmpty(Object str); //而org.springframework.util包下参数是Object...str)源码:public static boolean isEmpty(Object str) { return (str == null || “”.equals(str)); } 基本上判断对象是否为...关于java判断对象是否为方法就分享到这里了,希望以上内容可以对大家有一定帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

    4.8K20

    vue 对象判断为_Vue中可用判断对象是否为方法

    Object.keys(xxx).length==0 验证结果如下:… 前言:在实现业务逻辑过程中,很多工程师都会遇到需要判断一个对象,数组是否为情景,很多时候我们在请求数据时候都需要判断请求对象数据是否为...,如果直接使用,在数据请求为时,控制台就会报错.因此我们需要给一个判断,如果数据存在就直接调用,不存在就创建对象/数组.下面狗尾草给大家整理了几种判断对象是否为方法,希望对大家有帮助. 1.我们在需要请求对象...来避免对象错误.如果name为,就以默认值(“!”后字符)显示.  ...对象user,name为user属性情况,user,name都有可能为,那么可以写成${(user.name)!”}...x)方式直接判断,但是如果是一个对象,比如JSON对象,是这样:{},简单判断是不成功,因为它已经占用着内存了,如果是JQuery的话,直接使用isEmptyObject()来判断,如果是

    6.1K20

    自定义圆形图片

    使用这个类目的,就是把它对象设置给Paint ,而Paint会根据TileMode进行绘制位图 二、实现圆形图片步骤 首先,ImageView和ImageButton需要图片, 有两种生成圆形图片方法...ImageView(this); 2 3 imageView.setImageDrawable(); // 参数为一个Drawable 对象 4 imageView.setImageResource...(); // 参数为一个资源文件 5 imageView.setImageBitmap(); // 参数为一个Bitmap 对象 那么我们这里实现方法为 自定义继承Drawable类 ,运用 imageView.setImageDrawable...width; } 完整代码: 1 package com.xqx.CircleImageView; 2 3 import android.graphics.*; 4 import android.graphics.drawable.Drawable...15 Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.icon); 16 imageView.setImageDrawable

    1.9K80

    js判断对象是否为对象几种方法

    1.将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var b = (JSON.stringify(data) == "{}"); alert(b);//...= {}; var b = $.isEmptyObject(data); alert(b);//true 4.Object.getOwnPropertyNames()方法 此方法是使用Object对象...getOwnPropertyNames方法,获取到对象属性名,存到一个数组中,返回数组对象,我们可以通过判断数组length来判断此对象是否为 注意:此方法不兼容ie8,其余浏览器没有测试 var...data = {}; var arr = Object.getOwnPropertyNames(data); alert(arr.length == 0);//true 5.使用ES6Object.keys...()方法 与4方法类似,是ES6新方法, 返回值也是对象中属性名组成数组 var data = {}; var arr = Object.keys(data); alert(arr.length =

    28.2K20

    Excel技巧:使用上方单元格值填充单元格

    有时候,工作表列中有许多单元格,而不是在每行都重复相同内容,这样可以使报表更容易阅读,然而也会导致一些问题,例如不方便排序或筛选数据。...如下图1所示,在列A中有一些单元格,如果对列A进行筛选,则只会出现有内容单元格数据,因此空白单元格需要使用其上方单元格内容填充。...图1 首先,选择包含单元格列,单击功能区“开始”选项卡“编辑”组中“查找和选择——定位条件”,在弹出“定位条件”对话框中勾选“值”前单选按钮。...完整操作过程如下图2所示。 图2 如果你经常遇到填充单元格操作,那么可以使用宏来代替手工操作。...Cells.SpecialCells(xlCellTypeBlanks) On Error GoTo 0 If rng Is Nothing Then MsgBox "没有找到单元格

    3.3K30

    java判断一个对象是否为_Java中判断对象是否为方法详解

    这两种StringUtils工具类判断对象是否为是有差距: StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下StringUtils...类,判断是否为方法参数是字符序列类,也就是String类型 StringUtils.isEmpty(Object str); //而org.springframework.util包下参数是Object...str)源码: public static boolean isEmpty(Object str) { return (str == null || “”.equals(str)); } 基本上判断对象是否为...判断集合是否为 例1: 判断集合是否为: CollectionUtils.isEmpty(null): true CollectionUtils.isEmpty(new ArrayList()):...b)(A与B差): {1,2,3} CollectionUtils.subtract(b, a)(B与A差): {4,6,7} 以上所述是小编给大家介绍Java中判断对象是否为方法详解整合,希望对大家有所帮助

    3.2K20

    ObjectDataSource选择业务对象列表为探讨

    前天晚上,在一个页面上拖了一个ObjectDataSource,配置数据源时发现选择业务对象列表没有列出当前项目的实体类,甚至连NewLife.CommonEntity中实体类也没有列出来。...至少,这说明了问题跟我们组件有关。     于是一个个组件一个个版本试,终于确定只要把CommonEntity库更换到12月21日版本就没有问题。于是查看了版本日志,以及代码变更。...vs2010调试vs2010,打开.Net源码调试,很悲剧,vs2010源码是不公开,同时因为没有合适启动项目,压根就没地方下断点!     很不情愿安装了非常不熟悉WinDbg。...开始时候总是提示sos版本不对,后来.chain看来,发现2和4都加载了,还是默认自动加载,悲剧,没有人告诉我怎么卸载,我猜.unload,懒得打参数,还真是。。。卸载最后一个。    ...u看看这个方法汇编,是否与IL大致相同。一般来说,会有85%相同,毕竟jit会优化嘛,特别是内联。

    1.4K70

    Java判断对象是否为方法:isEmpty,null,” “

    大家好,又见面了,我是你们朋友全栈君。 今天修改辞职同事遗留代码才发现这个问题,不能用isEmpty来判断一个对象是否为null,之前没在意这个问题,在报了指针之后才发现这个问题。...查了一下关于判断为几个方法区别,这里做一个简单总结: null 一个对象如果有可能是null的话,首先要做就是判断是否为null:object == null,否则就有可能会出现指针异常,这个通常是我们在进行数据库查询操作时...,首先要排除对象不为null,否则当对象为null时,调用isEmpty方法就会报指针了。...要想返回true,也就是一个对象长度为0,也就是说首先这个对象肯定不为null了,内容为时,才能返回true。...对象包含引用对象和实际对象,也就是栈和值关系,比如String a = new String();,这句代码就在堆内存中产生了一个String对象"",和栈内存中一个引用对象a,也就是a指向了一个为字符串

    5.1K40

    thymeleaf判断对象是否为相关逻辑处理

    大家好,又见面了,我是你们朋友全栈君。...thymeleaf 判断对象是否为空有关逻辑处理 场景一 在项目中,有时会遇到下面场景: 添加页面和编辑页面共用一个页面,而通过后台传来对象来判断提示用户是编辑页面还是添加页面,而编辑页面要使用这个对象...在此记录下自己遇到问题,看到了别人博客才解决了 @RequestMapping(path = { "/add", "edit"}, method = { RequestMethod.GET...编辑页面':'添加页面'"> 场景二 对于上述编辑页面,要使用后台数据进行下拉框填充。而添加页面无需下拉框数据填充。...就是为了判断对象是否为,如果为空就不会渲染页面(下拉框选中) 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145973.html原文链接:https://javaforall.cn

    1.7K20

    C# CLR 聊聊对象内存布局 一个对象占用多少内存

    在 C# 中对象大概可以分为三个不同类型,包括值类型、引用类型和其他类型。本文主要讨论是引用类型对内存空间占用情况。在讨论开始之前我想问问大家,一个对象会占用多少内存空间?...但栈空间是很小一段空间,一旦用完将会抛出堆栈溢出 因此本文所说对象占用内存空间仅说占用堆空间内存空间,这不意味着本文说对象仅仅是引用类型对象,此时值类型对象也是能包含。...可以在控制台里面多创建几个对象,根据相同类型对象类型信息一定相同原理,可以判断咱刚才拿到类型信息是否是对。...尽管这个空间不是我这个对象,但是其他对象也不用这部分空间 以上是 x64 下对象内存布局,大概可以认定答案是一个对象占用了3*8个字节 那么 x86 下对象会如何?...第一行是因为 obj 指向内存是对象类型信息,而对象对象头信息是放在类型信息前面,因此在上图就没有看到第一个对象对象头 大概看到这里,相信小伙伴也能理解一个对象在占用了多少堆内存空间了 那么是不是有小伙伴好奇对象可以在栈空间占用多少内存

    88820
    领券