gpt4 book ai didi

android - 多个 fragment 、setRetainInstance(true) 和屏幕旋转

转载 作者:行者123 更新时间:2023-11-29 16:06:18 27 4
gpt4 key购买 nike

我通过替换在多个 fragment 之间切换。 fragment 也被添加到返回堆栈。

现在我希望在方向改变时不再创建 fragment 。我将 setRetainInstance(true) 放在它们中的每一个上。

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

最佳答案

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

关于android - 多个 fragment 、setRetainInstance(true) 和屏幕旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18043227/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com