错误代码:
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