2012-09-14 22 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」);

相關問題