Android 碎片恢复状态
我在活动a上附加了一个片段F。当另一个活动成为前台活动时,它被称为Android 碎片恢复状态,android,android-fragments,Android,Android Fragments,我在活动a上附加了一个片段F。当另一个活动成为前台活动时,它被称为onSaveInstanceState。我重写了该函数,它看起来像: public void onSaveInstanceState(Bundle outState){ saveState_to_outstate } 现在,当片段F再次出现在前面时,它被称为onViewCreated(视图,Bundle savedInstanceState)。我想还原以前保存的状态,但无法还原,因为savedInstanceState为空,尽
onSaveInstanceState
。我重写了该函数,它看起来像:
public void onSaveInstanceState(Bundle outState){
saveState_to_outstate
}
现在,当片段F再次出现在前面时,它被称为onViewCreated(视图,Bundle savedInstanceState)
。我想还原以前保存的状态,但无法还原,因为savedInstanceState
为空,尽管它以前是在onSaveInstanceState
中写入的
为什么会发生这种情况?如果要使用以前的数据恢复片段F。据我所知,您应该在片段的
onViewStateRestored()
方法中执行
OnViewStateRestored(Bundle)告诉片段其视图层次结构的所有保存状态都已还原。
您应该访问此链接以供参考:如果要使用以前的数据还原片段F。据我所知,您应该在片段的
onViewStateRestored()
方法中执行
OnViewStateRestored(Bundle)告诉片段其视图层次结构的所有保存状态都已还原。
您应该访问此链接以供参考:方法A:您可以通过捆绑或意图将数据从活动A传递到片段F。这类似于保存实例的用法。 方法B:您只能在同一位置将以下函数与
onCreate()
一起使用,可以是片段F,也可以是活动A
saveInstanceState上的公共无效(Bundle outState){
putInt(“STATE_NAME”,123);//123是要保存的数据
super.onSaveInstanceState(outState);//别忘了放这个
}
方法C:使用像SharePreference这样的硬代码,它也像bundle和intent一样,不会受到活动或片段生命周期的影响。方法A:您可以通过bundle或intent将数据从活动A传递到片段F。这类似于保存实例的用法。 方法B:您只能在同一位置将以下函数与
onCreate()
一起使用,可以是片段F,也可以是活动A
saveInstanceState上的公共无效(Bundle outState){
putInt(“STATE_NAME”,123);//123是要保存的数据
super.onSaveInstanceState(outState);//别忘了放这个
}
方法C:使用像SharePreference这样的硬代码,它也像bundle和intent一样,不会受到活动或片段生命周期的影响。请编辑您的问题并添加代码,将片段F“附加”到活动A。您的代码片段没有任何作用。。具体地说,
saveState\u to\u outstate
不起任何作用,您需要使用method参数中的outstate
捆绑包来保存数据。请编辑您的问题,并将代码添加到将片段F“附加”到活动A的位置。您的代码片段没有任何作用。。具体来说,saveState\u to_outstate
什么也不做,您需要使用method参数中的outstate
包来保存数据。