2012-09-14 17 views
1

我想从一个活动转移到另一个使用intent和序列化android的对象。在这里我不能发送已经存在的对象(接收为空),但是当发送新的对象时它正常工作。不能使用序列化发送现有对象android

这里的片段:

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 
} 
+0

你是怎么称呼这个方法的?而且我认为我们使用putParcebleExtra而不仅仅是putExtra – Akram

+1

您可以发布您想要发送的课程吗?这可能与在您的新构造对象中未初始化的现有对象中正在初始化的不可序列化的类成员有关。 – MCeley

+0

当它工作时意味着对象在接收器端根据需要被传送和检索,但是“它不工作”意味着对象(新创建的)在接收器端被检索为空。 –

回答

0

自定义类实现Serializable接口,然后你可以在额外的意图使用putExtra(序列化..)的意图#putExtra()方法的变种传递对象实例。

伪代码:

//传递: intent.putExtra( “MyClass的”,OBJ);

//检索第二个对象的活动 getIntent()。getSerializableExtra(“MyClass”);

相关问题