2

我正在通过替换在多个片段之间切换。片段也被添加到后台堆栈。

现在我希望在方向改变时不会再次创建片段。我把setRetainInstance(true)它们都穿上了。

片段 A 表现正常。然后我切换到片段B,旋转屏幕看到片段A。我做错了什么?或者这是预期的?

4

1 回答 1

4

对片段调用setRetainInstance(true)并不会阻止您的活动自行销毁和重新创建。可能您在onCreate方法中初始化了第一个片段,因此它可以按预期与您的第一个片段一起使用,但不能与第二个片段一起使用。您需要在活动中使用onSaveInstanceState方法存储显示哪个片段并在 OnCreate 中显示相应的片段,或者您需要将活动标志设置为android:configChanges="keyboardHidden|orientation|screenSize"以防止它在屏幕上被破坏方向改变。

于 2013-08-04T13:40:03.160 回答