在这种情况下,在哪里恢复片段的状态?

时间:2017-03-22 18:53:19

标签: android android-fragments savestate

初学者。我有一个包含ViewPager的Activity,而ViewPager又有3个片段:

[ Activity ]
    [ ViewPager ]
        [ Frag1 ]
        [ Frag2 ]
        [ Frag3 ]

说我在Frag3中,我已经做了一些工作,我的应用程序已经为该片段中的一个成员变量赋值。

然后我点击Home(我的Activity转到后台,调用了onStop方法)。然后我点击手机上的“最近”并再次选择我的“活动”(它返回到前台,它显示我的Frag3)。

我的片段中该成员变量所持有的值已丢失。

我已经在片段中的onSaveInstanceState方法中保存了该值,但我不知道何时应该检索它。我已经读过我应该在onActivityCreated中这样做,但是在我刚刚描述的情况下,它不会被调用(我相信只有onStart和onResume会被调用,对吧?如果我刷所有的话,只调用OnActivityCreated方式到Frag1然后回到Frag3)我的应用程序将崩溃(它有)。

在这种情况下,我应该何时检索Bundle中的值?

1 个答案:

答案 0 :(得分:0)

使用Fragments时,对应的是onCreateView。你有第三个参数名为savedInstanceState

Reference

  

savedInstanceState(Bundle):如果为非null,则从此处给出的先前保存状态重新构造此片段。

相关问题