为什么im geting" java.lang.IllegalStateException:在onSaveInstanceState"之后无法执行此操作?

时间:2017-09-27 11:44:19

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

我在我的代码中使用了MVP模式。在Activity onCreate()我调用了一个带有服务调用的演示者方法。关于服务电话的响应 我抛出一个回调来询问活动,服务已经完成了它的工作,并做了更改片段。有一段时间一切正常,我可以看到加载响应服务的片段。但问题是,当我按下设备的后退按钮并重新打开活动时,应用程序会因行 transaction.commit()而崩溃

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

请帮我找一个修复 谢谢

3 个答案:

答案 0 :(得分:1)

也许你不会从之前的活动中取消订阅onDestroy?

答案 1 :(得分:1)

更改你的onBackPressed方法:

@Override
public void onBackPressed() {

    if (isComeFromLogin) {
        finish();
    }
    else{
        super.onBackPressed();
    }
}

答案 2 :(得分:0)

即使使用非MVP应用程序,也会发生这种情况。我不是原因,但你可以覆盖 onBackPressed 方法。

@Override
public void onBackPressed () {
   //super.onBackPressed(); //Keep it as it is and finish activity

    finish();

}