我有一個複雜的對象(其中包含更多對象和hashmaps)。所有對象都實現了Serializable
。將可序列化對象傳遞給活動時出現無效轉換
在第一個活動我做的:
public void secondActivity(MyObject o) {
Intent intent = new Intent(this, SecondActivity.class);
intent.putExtra("myobject", o);
startActivity(intent);
finish();
}
然後,在第二個活動我做:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
MyObject o = (MyObject)intent.getSerializableExtra("myobject");
}
但投放時,我得到這個異常:
java.lang.ClassCastException:java.util.ArrayList不能轉換爲myapp.MyObject
這是在活動之間傳遞複雜對象的正確方法嗎?我錯過了什麼?
或者我應該實現單例類嗎?
'getIntent()'返回的是'myobject'額外添加的相同意圖嗎? – CKing
@ChetanKinger它應該。應用程序中沒有其他地方可以打開第二個活動。 –