我在FragmentPagerAdapter中使用ArrayList
Fragment
个ArrayList
。
我想在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
答案 0 :(得分:1)
片段不能是Serializable,你应该只是将简单数据保存在bundle中,并使用bundle在restoreState方法中刷新视图和片段。