关闭

Unable to start activity ComponentInfo 解决方法

134人阅读 评论(0) 收藏 举报
分类:

解决案例一:

错误信息如下:

ERROR/AndroidRuntime(327): java.lang.RuntimeException: Unable to start activity ComponentInfo{org.lee.android/org.lee.android.radioPlayer}: java.lang.ClassCastException: android.widget.ImageView

  1. public void onCreate(Bundle savedInstanceState) {  
  2. super.onCreate(savedInstanceState);  
  3. setContentView(R.layout.main);//以debug模式运行时,运行到此处,程序崩溃。  
  4. }  
 

结论:
main.xml文件出错。好好检查下吧,不要太相信xml编辑器,有些错误,编辑器不会报错的。
我的错误如下:
定位错误代码:

 请注意,ImageView开始标签
    <ImageView
  android:layout_height="20dip" 
    android:layout_width="wrap_content"
  android:id="@+id/ibadd"
  android:src="@drawable/freadd"
android:layout_alignParentRight="true"
  >
 <TextView
   android:layout_height="20dip" 
    android:layout_width="wrap_content"
    android:layout_gravity="center"
    android:id="@+id/tvfre"
  >  
  </TextView>
  
  </ImageView>请注意,ImageView结束标签
修改后的代码:
 
  1.   <ImageView  
  2.  android:layout_height="20dip"   
  3.    android:layout_width="wrap_content"  
  4.  android:id="@+id/ibadd"  
  5.  android:src="@drawable/freadd"  
  6. ndroid:layout_alignParentRight="true"  
  7.  >  
  8. lt;/ImageView>  
  9. <TextView  
  10.   android:layout_height="20dip"   
  11.    android:layout_width="wrap_content"  
  12.    android:layout_gravity="center"  
  13.    android:id="@+id/tvfre"  
  14.  >    
  15.  </TextView>  
 

解决案例二:

错误信息:

java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{org.lee.android/org.lee.android.MyListView4}: java.lang.NullPointerException

 Caused by: java.lang.NullPointerException

 at org.lee.android.MyListView4.<init>(MyListView4.java:48)

 

错误代码:

private int defaultDrawable=R.drawable.radio;

private String defaultTitle=getString(R.string.defaulTitle);//这是第48行,也就是NullPointerException的地方

private String defaultInfo=getString(R.string.defaulInfo);

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

         setContentView(R.layout.vlist2);                                                                          

 findViews();

 setListeners();

}

private void findViews()

{

tvTitle=(TextView)findViewById(R.id.mainTitleText);

imgpre=(ImageView)findViewById(R.id.imgpre);

}


错误分析:

 android布局分析时,是加载

layout后再加载  R.string 的,而我提前用R.string来初始化变量,所以出错


解决方案:

 setContentView(R.layout.vlist2);        之后再初始化defaultTitle,defaultInfo。

修改后的代码:

  1.     private int defaultDrawable=R.drawable.radio;  
  2.     private String defaultTitle;  
  3.       
  4. private String defaultInfo;  
  5.   
  6.     @Override  
  7.     public void onCreate(Bundle savedInstanceState) {  
  8.         super.onCreate(savedInstanceState);  
  9.            
  10.          setContentView(R.layout.vlist2);                                                                            
  11.          
  12.           findViews();  
  13.           setListeners();  
  14.     }  
  15.     private void findViews()  
  16.     {  
  17.         tvTitle=(TextView)findViewById(R.id.mainTitleText);  
  18.         imgpre=(ImageView)findViewById(R.id.imgpre);  
  19. defaultTitle=getString(R.string.defaulTitle);  
  20.           
  21. defaultInfo=getString(R.string.defaulInfo);  
  22.     }  

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6019次
    • 积分:141
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:15篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档