我有一个活动,它的布局有一个FrameLayout,其中多个片段来回切换 在第一次打开应用程序时,Fragment 1打开了,我这样做了 打电话:
hotfix/*
使用一段时间后切换到Fragment 2,但是当配置更改发生时,Activity只返回Fragment 1,为什么?
我意识到如果我为所有片段设置了setRetainInstance(true),那么在这种情况下我应该设置setRetainInstance会不会发生这种情况?
答案 0 :(得分:0)
因为在配置改变时,如果你没有添加" configChanges"在Manifest中,当前的Activity将被销毁并被新重新创建的活动替换 但是当你setRetainInstance(true)时,当前活动中的片段将分离并重新附加到新重新创建的活动中。(如果设置为false,则所有片段将被销毁并随活动重新创建)。 /> 所以在你的情况下,我认为setRetainInstance是可以的 但你应该考虑使用" configChanges"如果您的活动在configureChanged时不需要重新创建,则在Manifest中 还要检查以确保所有靠背都能正常工作 希望这会有所帮助。