gpt4 book ai didi

java - Android 将 Activity 状态保存在 Parcelable 类对象中

转载 作者:行者123 更新时间:2023-12-01 16:59:27 25 4
gpt4 key购买 nike

在我的应用程序中,每个 Activity 和文件中都有许多 onSaveInstanceState ,现在阅读 this link 后创建 Parcelable 类,我无法使用它并保存到此类中

默认onSaveInstanceState是:

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putBoolean("IsShowingExitDialogs", mIsShowingExitDialogs);
savedInstanceState.getInt("LastMenuItemSelected", mLastMenuItemSelected);
}

现在我无法使用下面的行将 IsShowingExitDialogsLastMenuItemSelected 保存到 Parcable 类:

savedInstanceState.putParcelable("IsShowingExitDialogs", mIsShowingExitDialogs);
savedInstanceState.putParcelable("IsShowingExitDialogs", mLastMenuItemSelected);

最佳答案

Parcelable 是一个应用于类的接口(interface)。它适用于对象,而在您的情况下,您尝试保存整数 boolean ,它们都是原始类型。如果您确实想这样做,则需要将它们包装在实现 Parcelable 的类中。然后这就会起作用。

编辑:

1. 您在 onSavedInstanceState()保存savedInstanceState 将在 onCreate( ) 重新创建 Activity 时,允许您重复使用之前保存的数据。

2.您需要创建一个自定义类MyClass extends Parcelable,实现接口(interface)方法并保存如下:

MyClass myClass = new MyClass(mIsShowingExitDialogs, mLastMenuItemSelected);
savedInstanceState.putParcelable("myClass", myClass);

关于java - Android 将 Activity 状态保存在 Parcelable 类对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28827381/

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