Java 强制我的活动调用onSavedInstance状态
我有一个android应用程序,其中我使用了两个主题。在主题更改时,我需要重新创建要重新创建的所有活动和其中的片段 与使用保存的instnce状态重新创建应用程序的方式相同 是否有任何方法可以强制我的活动调用已保存的实例状态?如果可能的话,我怎么做?如果不是,为什么?有没有其他办法来实现这一点 我当前的代码如下所示Java 强制我的活动调用onSavedInstance状态,java,android,android-activity,Java,Android,Android Activity,我有一个android应用程序,其中我使用了两个主题。在主题更改时,我需要重新创建要重新创建的所有活动和其中的片段 与使用保存的instnce状态重新创建应用程序的方式相同 是否有任何方法可以强制我的活动调用已保存的实例状态?如果可能的话,我怎么做?如果不是,为什么?有没有其他办法来实现这一点 我当前的代码如下所示 public static final void restartActivity(final FragmentActivity activity){ activity.fin
public static final void restartActivity(final FragmentActivity activity){
activity.finish();
activity.startActivity(new Intent(activity, activity.getClass()));
}
问题是没有重新创建片段后堆栈。任何帮助都将不胜感激 您的状态未保存,因为您正在创建
活动的新实例。作为一种解决方案,您可以将您的状态作为Intent
extras传递给这个新实例,并从这些extrase中恢复onCreate
中的状态。查看onRestoreInstanceState()
onSavedInstance状态在活动结束时不会被触发。因此,不会调用onRestoreInstanceState,并且如果激发,则保存的实例状态为空。不确定您为什么需要重新创建活动,但您可以将您的数据以附加的方式传递给活动的新实例,并使用它来“还原”通过设置参数,在我自己的活动中重新创建所有封闭的片段,这将是一项艰巨的任务,我认为这不是一个可行的解决方案。我的问题是,有没有办法强制我的应用程序触发onSavedInstance状态,以便保留活动的状态。