【发布时间】:2012-09-07 15:36:23
【问题描述】:
我正在尝试使用意图和序列化 android 将对象从一个活动转移到另一个活动。在这里,我无法发送已经存在的对象(接收为 null),但是在发送新对象时它可以正常工作。
这是sn-p:
private void someMethod(TPackage tpackageObj) {
Intent intent = new Intent(obj, my.tatasky.ChannelActivity.class);
intent.putExtra("parcel", new TPackage()); // it works
intent.putExtra("parcel", tpackageObj); // doesn't work
}
【问题讨论】:
-
你是怎么调用这个方法的?我认为我们使用 putParcebleExtra 而不仅仅是 putExtra
-
您可以发布您要发送的课程吗?它可能与在现有对象中初始化的不可序列化类成员有关,而该成员未在新构造的对象中初始化。
-
当它工作时意味着对象在接收方根据需要被传输和检索,但“它不起作用”意味着对象(新创建的)在接收方被检索为空。
-
您的 tpackageObj 对象是否包含一些具有不可序列化实例的属性?
-
获得了一项技术,我正在从在构造函数中初始化的旧对象值创建新对象,并且效果很好!谢谢 :)
标签: android android-intent android-activity serializable