1.参考https://blog.csdn.net/weixin_37438128/article/details/90048763
2.参考https://blog.csdn.net/qq_42618969/article/details/81141895
我们在开发软件的时候,不知道你是否遇到过Java.Lang.NullPointerException的错误,出现这和错误呢,不是大的错误,但是找不到的话,分分钟钟让你崩溃,所谓空指针的错误,就是你定义了一个对象,也就是有了一个指针,但是你没有给它赋值,然后嫩,你就直接引用了,那么这个时候就会报出空指针的错误。今天写程序的时候,遇到了一次空指针的错误,也是寻找好久,最终才发现空指针的出处。
下面是我遇到加上网搜索到一些常用的空指针的解决办法:
① 当在Activity里面使用setContentView的时候,同时又定义了一些其他布局中的按钮,在使用的时候,可能会引发空指针异常!
②在定义控件 的时候,可能需要赋值,但是你没赋值,也就是仔细检查你所定义的每个控件。
③在你粘贴别人的代码的时候,有的时候把布局和逻辑代码一起粘贴过来了,但是你在引用R文件的时候,并不是自己布局里的id,而是别的项目里的,也就是说你的引用不在本项目中。
如
有多个module的情况时: //此按钮id为btnstatus,为我要获取的service的状态 正确的绑定为btnstatus = (Button) findViewById(R.id.btnstatus) //眼花了,不小心绑定了启动服务的按钮 ,就出现空指针异常了。你明明绑定错了,AndroidStudio确没有提示。导致不知道出现什么异常,浪费了时间 错误的绑定了btnstatus = (Button) findViewById(R.id.btnstart)
④所定义的字符串初始化没有赋值
⑤ 接口类型的对象没有用具体的类初始化,比如: List lt;会报错 List lt = new ArrayList();则不会报错了
⑥ 当用到Bundle的时候,可能没有和指定的Intent 进行绑定,而在另一个Activity里面却接收数据,就会引发空指针异常了!
⑦ 可能未在AndroidManifest.xml 里面定义Activity或者Service,或者路径写错了;
当然这只是目前遇到过的,以后遇到再继续往里面总结吧
//我遇到过 java.lang.NullPointerException异常问题 void android.os.Bundle.putbundle(string ,saveInstance)问题,不断修改,然后变回最初的程序,竟然没报错,我都懵逼了,求指教