我尝试使用putSerializable()
和putParcelable()
将自定义对象放入bundle中,但两者都给出相同的错误“无法转换为java.io.Serializable”和“无法转换为java.io. Parcelable”。
我不明白为什么会出现这个问题?
我的代码:
FragmentA objA=new FragmentA();
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable("objB", (Serializable) objA);
}
Logcat状态:
FragmentA cannot be cast to java.io.Serializable
答案 0 :(得分:1)
您需要让对象实现Serializable或Parcelable。但是你不能为片段做到这一点,所以你需要找到另一种方法(比如在新活动中重新创建片段的副本)。