安卓错误E/AndroidRuntime(2726): java.lang.NullPointerException的问题解决

问题描述: 写了一段很简单的安卓程序,但是报错,异常退出,错误如下:

02-26 07:50:48.435: E/AndroidRuntime(2726): FATAL EXCEPTION: main

02-26 07:50:48.435: E/AndroidRuntime(2726): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.calcwithndk/com.example.calcwithndk.MainActivity}: java.lang.NullPointerException

错误分析:java.lang.NullPointerException即空指针,没有赋值或者赋值错误导致了空指针引用

问题解决:

发现如下代码:

mDelButton =(Button) findViewById(R.id.delButton); //控件初始化,即赋值
mDelButton.setOnClickListener(listener); //对控件的引用

mClcButton.setOnClickListener(listener);//仅引用控件没有初始化从而报错


可见,第二个控件mClcButton没有进行初始化,就设定点击事件处理,从而导致了空指针的引用。


总结:java.lang.NullPointerException引用空指针错误的解决办法是仔细检查代码,看是否有实例没有初始化就

进行了引用。

Eclipse的安卓开发调试环境中,不能指出是哪个变量未初始化,以及在源码的那一行,从而增加了新手调试的难度。

一般寻找该问题可通过增加断点逐步运行查找,但是由于出错语句在某个函数的最后一句,因此断点调试无效。并

且严重怀疑没有在断点处及时报错!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值