我写了一个扩展 Intent 的类 MyIntent。然后我使用 MyIntent 的一个实例来调用 startActivity(MyIntent)。
MyIntent i=new MyIntent(this,NewActivity.class);
构造函数是:
public MyIntent(Context context,Class<?> cls){
super(context,cls);
putExtra(var1,var2);
//other codes
((Activity)context).startActivity(this);
}
但是,当我在新开始的活动中调用 getIntent() 时,getIntent() 的返回值是一个 Intent 而不是 MyIntent,即
getIntent() instanceof Intent // true;
getIntent() instanceof MyIntent // false;
当我尝试 (MyIntent)getIntent() 时,系统会抛出 ClassCastException。怎么会这样?