Activity缺少无参默认构造方法,产生实例化错误InstantiationException
Android 2.3.3 Eclipse Version: 3.7.0 LogCat
?
主要错误:
?
04-06 11:24:33.126: ERROR/AndroidRuntime(17173): Caused by: java.lang.InstantiationException: com.tmall.nokia.Iphone04-06 11:24:33.126: ERROR/AndroidRuntime(17173): at java.lang.Class.newInstanceImpl(Native Method)04-06 11:24:33.126: ERROR/AndroidRuntime(17173): at java.lang.Class.newInstance(Class.java:1409)04-06 11:24:33.126: ERROR/AndroidRuntime(17173): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)04-06 11:24:33.126: ERROR/AndroidRuntime(17173): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)04-06 11:24:33.126: ERROR/AndroidRuntime(17173): ... 11 more
?
?
发生错误原因分析:
Iphone 继承自 Activity,启动Iphone 进入正常,后在其中加入构造方法。
?
public Iphone(Context context) {this.context = context;}
?
?
在其它地方实例化Iphone ,
?
Iphone Iphone = new Iphone(context);
?
可正常使用。
?
但在以
Intent integer = new Intent(context, Iphone.class);context.startActivity(integer);
?
方式启动,进入Activity 时,产生上述InstantiationException实例化错误。
?
原来,Activity 默认不需构造函数,但在加入有参数的构造方法后,必须同时加入无参数的默认构造方法
?
解决办法:
Iphone? 加入默认构造方法
?
public Iphone() {}
?
发布,正常。
?
?