java - 强制我的 Activity 调用 onSaveInstanceState

标签 java android android-activity

我有一个 Android 应用程序,其中使用两个主题。在主题更改时,我需要重新创建其中要重新创建的所有 Activity 和 fragment 。

使用保存的实例状态重新创建应用程序的方式相同。

有什么方法可以强制我的 Activity 调用已保存的实例状态吗?如果有可能我该怎么做?如果不是为什么?有没有其他方法可以实现这一目标?

我当前的代码如下所示。

public static final void restartActivity(final FragmentActivity activity){
    activity.finish();
    activity.startActivity(new Intent(activity, activity.getClass()));
}

问题是 fragment 返回堆栈没有重新创建。任何帮助将不胜感激。

最佳答案

您的状态未保存,因为您正在创建 Activity 的新实例。作为解决方案,您可以将状态作为 Intent extras 传递给这个新实例,并从这些 extras 恢复 onCreate 中的状态。

关于java - 强制我的 Activity 调用 onSaveInstanceState,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24372294/

相关文章:

java - 从字符串列表中删除字符串项

java - IllegalMonitorStateException notify() 和 wait()

java - Android 中可拖动圆圈内的文本

android - 避免在锁定屏幕上恢复应用程序

java - 未按预期在 JAVA 中获得所需的输出

java - 抽屉布局应用程序的架构

android - 如何在 Android AChartEngine 中创建字符串标签?

android - 创建不受父 View 约束的触摸波纹

android - Activity.attach() 什么时候会被调用?

java - 点击 Android 通知后无法启动 Activity