Unable to start activity ComponentInfo 解决方法


  1. 解决案例一:  
  2. 错误信息如下:  
  3.   
  4. ERROR/AndroidRuntime(327): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.lee.android/org.lee.android.radioPlayer}: java.lang.ClassCastException: android.widget.ImageView  
  5. view plainprint?  
  6.   
  7.     public void onCreate(Bundle savedInstanceState) {    
  8.     super.onCreate(savedInstanceState);    
  9.     setContentView(R.layout.main);//以debug模式运行时,运行到此处,程序崩溃。    
  10.     }    
  11.   
  12.    
  13.   
  14. 结论:  
  15. main.xml文件出错。好好检查下吧,不要太相信xml编辑器,有些错误,编辑器不会报错的。  
  16. 我的错误如下:  
  17. 定位错误代码:  
  18.   
  19.  请注意,ImageView开始标签  
  20.     <ImageView  
  21.   android:layout_height="20dip"   
  22.     android:layout_width="wrap_content"  
  23.   android:id="@+id/ibadd"  
  24.   android:src="@drawable/freadd"  
  25. android:layout_alignParentRight="true"  
  26.   >  
  27.  <TextView  
  28.    android:layout_height="20dip"   
  29.     android:layout_width="wrap_content"  
  30.     android:layout_gravity="center"  
  31.     android:id="@+id/tvfre"  
  32.   >    
  33.   </TextView>  
  34.     
  35.   </ImageView>请注意,ImageView结束标签  
  36. 修改后的代码:  
  37.    
  38. view plainprint?  
  39.   
  40.       <ImageView    
  41.      android:layout_height="20dip"     
  42.        android:layout_width="wrap_content"    
  43.      android:id="@+id/ibadd"    
  44.      android:src="@drawable/freadd"    
  45.     ndroid:layout_alignParentRight="true"    
  46.      >    
  47.     lt;/ImageView>    
  48.     <TextView    
  49.       android:layout_height="20dip"     
  50.        android:layout_width="wrap_content"    
  51.        android:layout_gravity="center"    
  52.        android:id="@+id/tvfre"    
  53.      >      
  54.      </TextView>    
  55.   
  56.    
  57. 解决案例二:  
  58.   
  59. 错误信息:  
  60.   
  61. java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.lee.android/org.lee.android.MyListView4}: java.lang.NullPointerException  
  62.   
  63.  Caused by: java.lang.NullPointerException  
  64.   
  65.  at org.lee.android.MyListView4.<init>(MyListView4.java:48)  
  66.   
  67.    
  68.   
  69. 错误代码:  
  70.   
  71. private int defaultDrawable=R.drawable.radio;  
  72.   
  73. private String defaultTitle=getString(R.string.defaulTitle);//这是第48行,也就是NullPointerException的地方  
  74.   
  75. private String defaultInfo=getString(R.string.defaulInfo);  
  76.   
  77. @Override  
  78.   
  79. public void onCreate(Bundle savedInstanceState) {  
  80.   
  81. super.onCreate(savedInstanceState);  
  82.   
  83.          setContentView(R.layout.vlist2);                                                                            
  84.   
  85.  findViews();  
  86.   
  87.  setListeners();  
  88.   
  89. }  
  90.   
  91. private void findViews()  
  92.   
  93. {  
  94.   
  95. tvTitle=(TextView)findViewById(R.id.mainTitleText);  
  96.   
  97. imgpre=(ImageView)findViewById(R.id.imgpre);  
  98.   
  99. }  
  100.   
  101.   
  102. 错误分析:  
  103.   
  104.  android布局分析时,是加载  
  105.   
  106. layout后再加载  R.string 的,而我提前用R.string来初始化变量,所以出错  
  107.   
  108.   
  109. 解决方案:  
  110.   
  111.  setContentView(R.layout.vlist2);        之后再初始化defaultTitle,defaultInfo。  
  112.   
  113. 修改后的代码:  
  114. view plainprint?  
  115.   
  116.         private int defaultDrawable=R.drawable.radio;    
  117.         private String defaultTitle;    
  118.             
  119.     private String defaultInfo;    
  120.         
  121.         @Override    
  122.         public void onCreate(Bundle savedInstanceState) {    
  123.             super.onCreate(savedInstanceState);    
  124.                  
  125.              setContentView(R.layout.vlist2);                                                                              
  126.                
  127.               findViews();    
  128.               setListeners();    
  129.         }    
  130.         private void findViews()    
  131.         {    
  132.             tvTitle=(TextView)findViewById(R.id.mainTitleText);    
  133.             imgpre=(ImageView)findViewById(R.id.imgpre);    
  134.     defaultTitle=getString(R.string.defaulTitle);    
  135.                 
  136.     defaultInfo=getString(R.string.defaulInfo);    
  137.         }    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值