如何在Bundle中放置自定义对象?

时间:2016-07-17 18:30:47

标签: android

我尝试使用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

1 个答案:

答案 0 :(得分:1)

您需要让对象实现Serializable或Parcelable。但是你不能为片段做到这一点,所以你需要找到另一种方法(比如在新活动中重新创建片段的副本)。