使用TabHost初始化tab控件时出现java.lang.RuntimeException: Unable to start activity ComponentInfo备忘

来源:互联网 发布:页面优化方法 编辑:程序博客网 时间:2024/05/21 22:45

很简单的程序,mainActivity中添加两个子Activity,但是启动就抛异常java.lang.RuntimeException: Unable to start activity ComponentInfo,网上搜了搜,有该类的出现情况,但不是我的菜,没解决我的问题,最后在LogCat中一个小角落里看到个提示:Missing layout_weigth....,原来在配置Activity时layout_weigth和layout_height是必须要配置的,即使有了weigth和origitation想当然的认为高/宽都会有了,但也必须设置,特此警告注意


另转载下其他问题引起的类似的异常情况(来自:http://www.cnblogs.com/xecet/archive/2012/06/15/2550225.html)

Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPointerException 错误的集中原因及解决办法

今天学习Android开发突然遇到了这个问题,查阅了很多资料,并且对集中原因进行了分析。 

错误信息字符串: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)调用之前并在方法内进行实例化即可解决

原因五:因为发生了空指针的错误异常,所以你应该检查一下比如 Spinner 或者 list 这类的东西里面是否有值存在


原创粉丝点击