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);
-
- 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。
修改后的代码:
- 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);
- }
第二种情况:
错误信息如下:
ERROR/AndroidRuntime(327): Java.lang.RuntimeException: Unable to start activity ComponentInfo{org.lee.android/org.lee.android.radioPlayer}: java.lang.ClassCastException: android.widget.ImageView
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- }
结论:
main.xml文件出错。好好检查下吧,不要太相信xml编辑器,有些错误,编辑器不会报错的。
我的错误如下:
定位错误代码:
- <span style="color:#FF0000;">
- <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_width="wrap_content"
- android:layout_gravity="center"
- android:id="@+id/tvfre"
- >
- </TextView>
-
- </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_width="wrap_content"
- android:layout_gravity="center"
- android:id="@+id/tvfre"
- >
- </TextView>
-
转载:http://blog.csdn.net/chaoyu168/article/details/50378584