我有一个复杂的对象(其中包含更多对象和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它应该。应用程序中没有其他地方可以打开第二个活动。 –