Android Studio中的控件初始化疑问:build没问题,但运行模拟器时出现问题。错误代码:java.lang.RuntimeException: Unable to instant

在使用Android Studio,启动模拟器时,出现如下错误:


Logcat中的信息如下:

java.lang.RuntimeException:Unable to instantiate activityComponentInfo{com.example.dcyyw.application_test1/com.example.dcyyw.application_test1.MainActivity}:java.lang.NullPointerException: Attempt to invoke virtual method'android.content.res.Resources android.content.Context.getResources()' on anull object reference

 先分析一下:

1.    Unable to instantiate activityComponentInfo,百度翻译为:无法实例化活动组件信息。可知,某个类在实例化的时候出现了问题

2.    Attempt to invoke virtualmethod 'android.content.res.Resources android.content.Context.getResources()'on a null object reference,百度翻译为:试图在空对象引用上调用虚拟方法“ANDROID.Cord.RES.RealthAddio.Calth.Calist.GETRealsCues()”。意思就是我们不能对一个null(空)对象,及没有赋值的对象使用方法“ANDROID.Cord.RES.RealthAddio.Calth.Calist.GETRealsCues()”,但奇怪的是,我压根就没用过这个方法。使用百度搜索一下,什么都搜不到

3.    这时就应该从对象实例化和空对象这两个地方着手,由于我的工程刚刚建立,新增的东西不多,比较方便。新增的代码只有2行:

在创建TextView是,指定了它的参数this,而在Android Studio3环境下,会自动在this前增加context:,我试着将“=new TextView(context this);”这一部分注释掉,就像上图初始化Button一样,结果竟然可以运行通过了。

 

总结:本不想写总结,因为并没有查出根本原因,只是找到了一个临时的解决方法,但本着写文章的精神,还是写了这句话。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值