zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android - NullPointerException

Android NullPointerException
2023-09-27 14:28:06 时间

  Android中的空指针,感觉出现率,比普通的java出现的概率多得多,今天我无意中发现的NullPointerException,还是想记录下来.

  我们知道, 我们的控件一般定义在layout.xml中,所以我们使用findViewById方法去寻找控件的时候,虽然不是通过 R.layout.activity,一般默认生成的代码会在Activity中的onCreate方法中:

setContentView(R.layout.activity);

  不小心将该行注释了,发现Android报NullPointerException,看看R.java,正常生成,调试的时候,所有控件都是Null,奇怪了,一般的感觉都是觉得应该是通过findViewById获取的控件强制转换获得的控件类型不匹配,于是使用 findViewById(R.id.editTextId) instanceof EditText, 当然也报异常,想再调试其他值, 键盘按错,只复制到 findViewById(R.id.editTextId),发现也是null,奇怪了.

  冷静看一下源码,发现setContentView(R.layout.activity);那行被注释了,想想,果真是这样.

  这个问题发现太突然了,便记录下.