Fragment as Serializable Bundle Extra

时间:2017-06-15 20:43:05

标签: java android android-fragments

我在FragmentPagerAdapter中使用ArrayList FragmentArrayList

我想在saveState()中保存此restoreState(...)的状态,并在Fragment方法中恢复它。可以用捆绑存储bundle = new Bundle(); bundle.putSerializable(REGISTERED_FRAGMENTS_BUNDLE, registeredFragments); 吗?

我是通过

这样做的
@Override
public void restoreState(Parcelable state, ClassLoader loader) {
    if (state != null) {
        Bundle bundle = (Bundle) state;
        bundle.setClassLoader(loader);
        ArrayList<Fragment> savedFragments = (ArrayList<Fragment>) bundle.getSerializable(REGISTERED_FRAGMENTS_BUNDLE);
.
.

并像

一样转发
extremes

运行此代码时出现“无法编组值”错误。我正在尝试甚至可能吗?什么是可行的替代方案?

谢谢, Otterman

1 个答案:

答案 0 :(得分:1)

片段不能是Serializable,你应该只是将简单数据保存在bundle中,并使用bundle在restoreState方法中刷新视图和片段。