gpt4 book ai didi

java - fragment 作为可序列化 bundle 额外

转载 作者:行者123 更新时间:2023-12-02 12:51:47 28 4
gpt4 key购买 nike

我在 FragmentPagerAdapter 中使用了 FragmentArrayList

我想在 saveState() 中保存此 ArrayList 的状态,并在 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);
.
.

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

谢谢,奥特曼

最佳答案

fragment 不能序列化,你应该只在bundle中保留简单的数据,并使用bundle在restoreState方法中刷新 View 和 fragment 。

关于java - fragment 作为可序列化 bundle 额外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44576705/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com