【发布时间】:2017-01-24 17:09:26
【问题描述】:
我想将一个复杂对象从一个 Activity 发送到另一个,所以这个复杂对象不能被序列化,因为这个对象中的某些字段是系统类并且本机不可序列化。这就是为什么我要创建一个名为“MyIntent”的自定义类,它继承自 android.content.Intent,通过这种方式,我可以将任何类型的对象放入我的自定义 Intent 中。但是,在第二个活动中,getIntent() 方法返回 android.content.Intent 实例,而不是 MyIntent 实例。我不明白为什么,也许我没有正确实现 android.content.Intent 类。
public class MyIntent extends Intent
{
}
//starting activity
MyIntent intent = new MyIntent();
intent.setClass(context, SecondActivity.class);
context.startActivity(intent);
//inside of onCreate() of SecondActivity
Intent i = getIntent();
i instanceof MyIntent = false
【问题讨论】:
-
MyIntent i = (MyIntent) getIntent() -
Anton,我不需要发送系统类,但是我要发送的类与某些系统类高度耦合。
标签: java android android-intent serializable