更改方向后提交片段

Commit fragment after change orientation

我有 FragmentActivity,它包含了 layout 和 layout-land。在更改设备的方向然后提交()片段后,我收到一个我无法修复的错误:

IllegalStateException: Can not perform this action after onSaveInstanceState

我无法锁定更改屏幕方向,因为我需要将布局更改为 layout-land。 我该如何解决这个问题?谢谢!

在您的 Fragment不是您的 FragmentActivity)的 onCreate 方法中调用 Fragment.setOnRetainInstance(true).

您在 FragmentActivity 的重写 onCreate 方法中仅调用 commit() 一次 一次 。改变方向后无需再次调用。如果你想要的是在旋转后保存片段的状态,那么 Fragment.setOnRetainInstance(true) 就是你要找的人。