表示しているときのjava.lang.IllegalStateExceptionExceptionエラー
-
20-12-2019 - |
質問
App Store開発者コンソールの2つの「クラッシュ&ANRS」を受信した:
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1354)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1372)
.
私は論理的にエラーを見つけました:私はhttp要求を作成するために使用される非同期コールバックを持っています。HTTPコールを作成してから[戻る]をクリックします(すなわち、アクティビティを閉じる)ボタンをクリックすると、この問題が表示されます。
これは問題を引き起こすコードです:
ResponseErrorHandler errHdl = new ResponseErrorHandler();
DialogFragment dialogFragment = errHdl.HandelError(error, responseBody);
FragmentManager fragMan = getSupportFragmentManager();
dialogFragment.show(fragMan, TAG + "ErrorDialog");
.
だから私が何が起こっているのかを正しく理解しても、私の活動が終了しているということです。
アクティビティが終了したときにネットワーク要求をキャンセルします。
@Override
protected void onStop() {
super.onStop();
Network.cancelRequests(ConnectingActivity.this);
}
. 解決
アクティビティが閉じているかどうかを確認できます。ダイアログを表示してそれに応じて行動する前に殺されました。
e.:
if (!parentActivity.isFinishing()) {
dialogFragment.show(fragMan, TAG + "ErrorDialog");
}
.
これが役立つことを願っています。
所属していません StackOverflow