在方向更改时保存UI – 如果保留片段,onSaveInstanceState按预期工作

使用compat lib v1(由于某些bug,不使用v2 | 3); 这个问题的一个变种。

我有一个片段的用户界面有各种控制的状态,我想保持方向的变化。

家长的活动在方向改变时被破坏(请不要告诉我有关清单的变化,以避免活动娱乐!!!!)。

片段调用setRetainInstance(true)

1)现在我的理解是,具有唯一ID的视图应该保留某种状态,说明方向的变化。 鉴于此,我期望一个非null的包到onCreateView|onActivityCreated但它是空的。

2)在任何情况下,如果我在onSaveInstanceState保存状态(确保我调用超级),我仍然在'onCreateView | onActivityCreated'

3)如果我不调用setRetainInstance(true)那么即使我没有`onSaveInstanceState'方法,我也会在onCreateView|onActivityCreated得到一个非null的包。

我的问题是,这是否按预期工作,我对生命周期的理解被打破了? 无论如何,我猜测对我而言,最好的办法是保留片段,然后将片段中的控制状态保持在自己的状态。

提前致谢。 彼得。

Solutions Collecting From Web of "在方向更改时保存UI – 如果保留片段,onSaveInstanceState按预期工作"