java.lang.RuntimeException: java.lang.NullPointerExcept的处理
来源:互联网 发布:gp6打谱软件 mac 编辑:程序博客网 时间:2024/06/13 07:47
今天做项目遇到了这个问题,我把R.id写成了R.layout导致查找了半天的资料
下面就把查找的资料和体会总结一下
做Android项目中,java.lang.RuntimeException: Unable to start activity ComponentInfo{。。。。}: java.lang.NullPointerException这类空指针异常经常搞得蛋疼连篇欲罢不能
今天在做项目的时候就遇到了这样的问题,找了好久,各种百度终于解决了这个
看似蛋疼实则简单的问题。现在总结一下。
上图中的布局是利用GitHub里托管的框架写的
应用SlidingMenu的框架,必须要做的就是要把下载的ZIP解压到工作
控件,然后把Slidingmenu里的library导入到工程中,然后新建
项目,再把工程中的library导入到新建的项目中
注意,这里会出现SHA-1算法错误,要替换新的V4包
即可。
进入今天正文:空指针异常
这个错误太多见了,一般是下面几方面错误:
①一些控件只是声明了 没有实例化直接拿来用
②资源文件的命名有问题:前后多一个空格
③局部变量如int string没有赋予初值 直接拿来用
④网络访问 xml json解析等等场合,得到的数据其实为空,但没有进行if null判断(仔细检查一些路径 key这些字符串是不是写对了 特别是多一个空格,导致娶不到数据)
错误信息字符串:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.first/com.first.Game}: java.lang.NullPointerException
今天在做项目的时候就遇到了这样的问题,找了好久,各种百度终于解决了这个
看似蛋疼实则简单的问题。现在总结一下。
上图中的布局是利用GitHub里托管的框架写的
应用SlidingMenu的框架,必须要做的就是要把下载的ZIP解压到工作
控件,然后把Slidingmenu里的library导入到工程中,然后新建
项目,再把工程中的library导入到新建的项目中
注意,这里会出现SHA-1算法错误,要替换新的V4包
即可。
进入今天正文:空指针异常
这个错误太多见了,一般是下面几方面错误:
①一些控件只是声明了 没有实例化直接拿来用
②资源文件的命名有问题:前后多一个空格
③局部变量如int string没有赋予初值 直接拿来用
④网络访问 xml json解析等等场合,得到的数据其实为空,但没有进行if null判断(仔细检查一些路径 key这些字符串是不是写对了 特别是多一个空格,导致娶不到数据)
错误信息字符串:java.lang.RuntimeException: Unable to start activity ComponentInfo{com.first/com.first.Game}: java.lang.NullPointerException
一般都会在Activity onCreate()方法里的setContentView(XXX)发生此错误,
网上查阅了很多原因,大概有四种重要可能的原因:
原因一:xxx的错误,若为R.layout.main 那么应该是main.xml文件中的标签
使用错误,最常见的而且编译器不会提示的错误就是 android:name 和 android:id 两者混淆,
仔细检查main.xml的标签是否全部正确
原因二:在setContentView(view)方法之后使用了requestWindowFeature()方法,
并且在此错误下面会提示requestFeature必须在setContentView之前使用,
只需要把requestWindowFeature()方法放在setContentView(view)方法之前就可以解决
原因三:在onCreate()方法之外,并且不属于任何一个方法体内直接给
某控件findById(R.id.xx)所导致,需要在某方法内并且在setContentView(view)
方法之前进行findById(R.id.xx)即可解决
原因四:在setContentView(view)之前没有对view进行实例化,
只进行了声明而直接 setContentView(view) 所导致,仔细检查view是否
setContentView(view)调用之前并在方法内进行实例化即可解决
0 0
- java.lang.RuntimeException: java.lang.NullPointerExcept的处理
- 类型转换异常处理java.lang.RuntimeException
- java.lang.RuntimeException翻译
- java.lang.RuntimeException: NYI
- java.lang.RuntimeException: Stub!
- java.lang.runtimeexception
- java.lang.RuntimeException nativeLibraryDirectories
- java.lang.RuntimeException
- java.lang.RuntimeException
- java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- java.lang.RuntimeException: java.lang.ClassNotFoundException: xxxxMapper
- java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- java.lang.RuntimeException: java.lang.ClassNotFoundException: xxxxMapper
- Android 自定义View (三) 圆环交替 等待效果
- S3C2440硬件连接解析
- 一个函数作为另一个函数的实参
- Java中Vector和ArrayList的区别
- 私房库PHP教程 - 2.流程控制
- java.lang.RuntimeException: java.lang.NullPointerExcept的处理
- 记录一点关于CMAKE的交叉编译
- jquery ajax parsererror was not called
- swift动态编写NSPredicate
- Android 自定义View (四) 视频音量调控
- php木桶排序
- 编译时候如何配置连接库的搜索路径
- 一个七位数只能由1,2,3,4,5,6,7组成的,不能重复,从大到小求第2014个数是多少
- Android 仿Win8的metro的UI界面(上)