您的位置:首页 > 编程语言 > Java开发

java.lang.RuntimeException: Unable to start activity ComponentInfo 错误的一些信息

2013-06-25 10:35 513 查看


解决案例一:


错误信息如下:

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

[java] view
plaincopyprint?

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);//以debug模式运行时,运行到此处,程序崩溃。

}

结论:

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结束标签
修改后的代码:

[xhtml] view
plaincopyprint?

<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_width="wrap_content"

android:layout_gravity="center"

android:id="@+id/tvfre"

>

</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行,也就是[b]NullPointerException的地方[/b]

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。

修改后的代码:

[b][java] view
plaincopyprint?[/b]

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

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐