Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“为什么我要去?”;java.lang.IllegalStateException:在onSaveInstanceState“之后无法执行此操作?”;?_Java_Android_Android Fragments_Activity Lifecycle_Fragmenttransaction - Fatal编程技术网

“为什么我要去?”;java.lang.IllegalStateException:在onSaveInstanceState“之后无法执行此操作?”;?

“为什么我要去?”;java.lang.IllegalStateException:在onSaveInstanceState“之后无法执行此操作?”;?,java,android,android-fragments,activity-lifecycle,fragmenttransaction,Java,Android,Android Fragments,Activity Lifecycle,Fragmenttransaction,我在代码中使用了MVP模式。在Activity onCreate()im中,我调用了一个具有服务调用的presenter方法。论服务呼叫的响应 我抛出一个回调,询问活动服务已经完成了它的工作,并且做了更改片段。有一段时间,所有的工作都很好,我可以看到服务响应中加载的片段。但问题是,当我按下设备的“后退”按钮并重新打开“活动”时,应用程序会因为行transaction.commit()而崩溃 java.lang.IllegalStateException:在onSaveInstanceState

我在代码中使用了MVP模式。在
Activity onCreate()
im中,我调用了一个具有服务调用的presenter方法。论服务呼叫的响应 我抛出一个回调,询问活动服务已经完成了它的工作,并且做了更改片段。有一段时间,所有的工作都很好,我可以看到服务响应中加载的片段。但问题是,当我按下设备的“后退”按钮并重新打开“活动”时,应用程序会因为行
transaction.commit()
而崩溃

java.lang.IllegalStateException:在onSaveInstanceState之后无法执行此操作

请帮我找到解决办法
谢谢你

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

即使是非MVP应用程序也会发生这种情况。我不知道原因,但您可以重写onBackPressed方法

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

    finish();

}

更改onBackPressed方法:

@Override
public void onBackPressed() {

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

请发布您的活动代码。我只有一个活动。没有调用任何其他活动。但是当您关闭应用程序时,它会重新创建活动。好的,谢谢,我不知道要取消订阅什么。您是说广播接收器吗?不,实际上这是第一次它工作正常,但当按“上一步”按钮并重新启动应用程序时,它在执行片段事务提交操作时抛出异常并崩溃感谢user12345,我已经用onBackPressed重写完成了总线,但运气不好