我在使用适用于 Fragment 的 commit 方法时,遇到了 IllegalStateException: Can not perform this action after onSaveInstanceState 错误。我无法找到任何解决方法,只好尝试使用 commitAllowingStateLoss() 这个方法。我将 commit 方法更改为 commitAllowingStateLoss(),但由于没有长时间测试,因此不确定这个方法是否有效。而且,我想知道 commit() 和 commitAllowingStateLoss() 之间有什么区别?请您帮忙解答。
commit()
也可能抛出异常事件。例如,即使在commitAllowingStateLoss()
保存事务而没有状态丢失的情况下,从LoaderCallbacks.onLoadFinished()
调用commit()
总是会抛出异常。当然,在处理onLoadFinished()
时有时无法保存状态。 - Juozas Kontvainis