Unable to start activity ComponentInfo 解决方法

解决案例一:
错误信息如下:

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

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

 

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

 请注意,ImageView开始标签
    
   
  
  
  请注意,ImageView结束标签
修改后的代码:
 
view plainprint?

        
    lt;/ImageView>  
        
       

 
解决案例二:

错误信息:

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.(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。

修改后的代码:
view plainprint?

        private int defaultDrawable=R.drawable.radio;  
        private String defaultTitle;  
          
    private String defaultInfo;  
      
        @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);  
    defaultTitle=getString(R.string.defaulTitle);  
              
    defaultInfo=getString(R.string.defaulInfo);  
        }  


你可能感兴趣的:(android,android,layout,string,xml)