【问题标题】:Executing fragment transactions after onPause()/onStop()在 onPause()/onStop() 之后执行片段事务
【发布时间】:2018-01-16 14:33:48
【问题描述】:

我一直在阅读this great article,但不幸的是,在我的代码中,我无法确保我没有在回调中执行这些事务。 这就是我想知道的原因:有什么方法可以防止IllegalStateException 可能通过检查Activity.isFinishing() 或与Activity 生命周期相关的任何其他方法?

提前非常感谢

【问题讨论】:

    标签: android android-fragments android-lifecycle activity-lifecycle


    【解决方案1】:

    您可以通过以下方式检查 FragmentManager 的状态是否保存:

    fragmentManager.isStateSaved()
    

    如果这是真的,你就不能再运行片段事务了。

    如果它不起作用,请尝试运行 commitAllowingStateLoss() 而不是 commit()

    【讨论】:

    • 很遗憾,我们的应用程序还没有使用支持库 v26,所以我们不能使用isStateSave()。我最终使用了commitNowAllowingStateLoss()
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多