天天看點

Android中調用startActivity結果導緻:java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}Android中調用startActivity結果導緻:上網查了一下,總結如下:第一種情況:java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPointerException

錯誤代碼:

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);  

錯誤分析:

layout後再加載  r.string 的,而我提前用r.string來初始化變量,是以出錯

解決方案:

 setcontentview(r.layout.vlist2);        之後再初始化defaulttitle,defaultinfo。

修改後的代碼:

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);    

第二種情況:

public void oncreate(bundle savedinstancestate) {    

super.oncreate(savedinstancestate);    

setcontentview(r.layout.main);//以debug模式運作時,運作到此處,程式崩潰。    

}   

結論:

main.xml檔案出錯。好好檢查下吧,不要太相信xml編輯器,有些錯誤,編輯器不會報錯的。

我的錯誤如下:

定位錯誤代碼:

<span style="color:#ff0000;">//請注意,imageview開始标簽  

    <imageview  

  android:layout_height="20dip"   

    android:layout_width="wrap_content"  

  android:id="@+id/ibadd"  

  android:src="@drawable/freadd"  

android:layout_alignparentright="true"  

  ></span>  

 <textview  

   android:layout_height="20dip"   

    android:layout_gravity="center"  

    android:id="@+id/tvfre"  

  >    

  </textview>  

  </imageview> //請注意,imageview結束标簽  

 <imageview    

 android:layout_height="20dip"     

   android:layout_width="wrap_content"    

 android:id="@+id/ibadd"    

 android:src="@drawable/freadd"    

ndroid:layout_alignparentright="true"    

 >    

lt;/imageview>    

<textview    

  android:layout_height="20dip"     

   android:layout_gravity="center"    

   android:id="@+id/tvfre"    

 >      

 </textview>    

轉載:http://blog.csdn.net/chaoyu168/article/details/50378584

繼續閱讀