java.lang.RuntimeException: Unable to instantiate activity ComponentInfo
2016-02-27 18:58
483 查看
出现上述错误,网上有总结三种原因,我觉得还有第四种原因
如果你使用了fragment fragmentActivity的话,那么可能会存在这种情况,就是你必须使用依赖包,android-support-v4.jar或者v7
如果同时你的android版本又太低,比如是4.4.2升级到5.0.1的过程中可能会出现这种问题,这个时候代码不报错,但是运行报错,
我试过了,只有重新创建新的工程,没有报错
网上的其他的三种原因如下:
不能实例化activity有如下三种情况:
1.没有在Manifest.xml 清单中注册该activity,或者在创建完activity后,修改了包名或者activity的类名,而配置清单中没有修改,造成不能实例化。
2.自己新建了一个包,而注册时候依然用的默认包,例如,默认包是com.ghg.Dao包,你新建了一个com.ghg.DaoImpl包,并在此包中写了个FirstActivity,在manifest.xml中注册时你写的是<activity android:name=".FirstActivity"/>,此时相当于你在的类注册到了默认包中,系统在默认包中是找不到的,因为你的FirstActivity在com.ghg.DaoImpl包下,所以你注册时应写成包名加类名,如:<activity
android:name="com.ghg.DaoImpl.FirstActivity";这样系统才能在指定的包中找到对应的类。
3.还用一种就是你的FirstActivity定义成了抽象类,这种情况好像一般人不会犯。
如果上述三种情况都考虑到了,还会抛出此异常,那么就查看一下activity类里是否同时存在这个类的构造函数和oncreate(),如果是,那么删除构造函数试试,并把初始化放到
oncreate()中试试。
如果你使用了fragment fragmentActivity的话,那么可能会存在这种情况,就是你必须使用依赖包,android-support-v4.jar或者v7
如果同时你的android版本又太低,比如是4.4.2升级到5.0.1的过程中可能会出现这种问题,这个时候代码不报错,但是运行报错,
我试过了,只有重新创建新的工程,没有报错
网上的其他的三种原因如下:
不能实例化activity有如下三种情况:
1.没有在Manifest.xml 清单中注册该activity,或者在创建完activity后,修改了包名或者activity的类名,而配置清单中没有修改,造成不能实例化。
2.自己新建了一个包,而注册时候依然用的默认包,例如,默认包是com.ghg.Dao包,你新建了一个com.ghg.DaoImpl包,并在此包中写了个FirstActivity,在manifest.xml中注册时你写的是<activity android:name=".FirstActivity"/>,此时相当于你在的类注册到了默认包中,系统在默认包中是找不到的,因为你的FirstActivity在com.ghg.DaoImpl包下,所以你注册时应写成包名加类名,如:<activity
android:name="com.ghg.DaoImpl.FirstActivity";这样系统才能在指定的包中找到对应的类。
3.还用一种就是你的FirstActivity定义成了抽象类,这种情况好像一般人不会犯。
如果上述三种情况都考虑到了,还会抛出此异常,那么就查看一下activity类里是否同时存在这个类的构造函数和oncreate(),如果是,那么删除构造函数试试,并把初始化放到
oncreate()中试试。
相关文章推荐
- java的反射机制
- Java基础(移位,函数)
- eclipse常用操作技巧
- Java如何获取文件编码格式
- mac 安装maven 和改动java环境变量
- java 乱码问题-Dfile.encoding=UTF-8
- Java动态加载jar文件
- java中基本输入输出流的解释
- Java异常机制
- Java设计模式--策略模式
- java设计模式(四)--单例模式
- spring学习笔记 - 面试题
- java 用嵌套for循环实现九九乘法表各种形状的展现
- Hello World!(Error opening registry key'software\Javasoft\Java Runtime Environment')
- java排序之插入排序(直接插入排序和希尔排序)
- 个人学习-java-单例设计模式
- android eclipse 将项目中assets文件夹下的数据库文件存储到data/data/包名/databases下
- 安卓 java.lang.StackOverflowError 错误检查,特别是部分低端机型
- SSH框架入门学习之二(spring)
- Eclipse EE简单配置(软链接)