在这种情况下,在哪里恢复我的片段状态?
问题描述:
初学者在这里。我有一个持有ViewPager,反过来,有3个片段的活动:在这种情况下,在哪里恢复我的片段状态?
[ Activity ]
[ ViewPager ]
[ Frag1 ]
[ Frag2 ]
[ Frag3 ]
说我在Frag3,我已经做了一些工作,它和我的应用程序已指定了价值之一该片段中的成员变量。
然后我点击主页(我的活动进入背景,它是onStop方法被称为)。然后我点击我手机上的最新信息,然后再次选择我的活动(它回到前台,它显示我的Frag3)。
我的Fragment中该成员变量所持有的值已丢失。
我已经在我的Fragment中的onSaveInstanceState方法中保存了该值,但我不知道何时应该检索它。我读过我应该这样做onActivityCreated,但在我刚刚描述的情况下,它不会被调用(我相信只有onStart和onResume将被调用,对吗?OnActivityCreated仅被称为如果我滑动所有去Frag1然后回到Frag3),我的应用会崩溃(它有)。
在这种情况下,何时应该检索Bundle中的值?
答
当你使用片段时,对应的是onCreateView。你有第三个参数,名为savedInstanceState
。
savedInstanceState(束):如果非空,该片段被从先前保存的状态重新构造为这里给出。
onCreateView出现在onActivityCreated之前,所以它也不会被调用,我只是试过它......感谢您的帮助! –
hmm。你什么时候为ViewPager设置适配器?我的Activity的onCreate方法中的 – vilpe89
。 –