【发布时间】:2015-06-20 18:45:18
【问题描述】:
我有一个复杂的对象(其中包括更多对象和哈希图)。所有对象都实现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()是否返回与添加myobjectextra 相同的意图? -
@ChetanKinger 它应该。应用程序中没有其他地方可以打开第二个活动。
标签: java android serialization