0
我試圖使用序列化到使用下面的代碼從一個活動傳遞一個對象到另一個:如何在使用intent傳遞它之後在Android中反序列化我的對象?
final Event rowItem = (Event) getItem(position);
Intent intent = new Intent(context, DetailsActivity.class);
intent.putExtra("event", rowItem);
context.startActivity(intent);
這工作正常(沒有錯誤),那麼在另一端我要再次使用反序列化:
Intent intent = getIntent();
Event event = (Event) intent.getSerializableExtra("event");
不幸的是,這將導致一個錯誤說:
java.lang.ClassCastException: java.lang.String cannot be cast to com.mycomp.model.Event
這是我第一次使用序列化來傳遞一個O所以我可能會做一些非常愚蠢的事情。但我不知道是什麼。
有人知道我在這裏可能會做錯嗎?我會很高興,如果需要更多的共享代碼..
[編輯] 原來我沒有使用@SerializedName(value = "the_serialized_name")
每個參數,但我沒有與類名使用implements Serializable
。非常愚蠢的我。但謝謝你的回答!
分享更多的代碼設計的,但你在should't Android的使用序列化。相反,使用Parcelable,看看文檔和一些代碼示例,它非常簡單。 – Sun
你的類'Event'實現了'Serializable'嗎? –