を交換するとき、私はこのコードを使用して移行2つのフラグメントがあります。私は2つのフラグメントの間を移行するとき、私は間にいくつかのクリーニングを行う必要があるだろうonPause()とonResume()順フラグメント
private void switchTo(Fragment frag) {
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
transaction.replace(R.id.contentPanel, frag);
transaction.commit();
}
を。私はこのクリーンアップコードをフラグメントのonPause()メソッドに入れます。問題は今、第2のフラグメントのonResume()が第1のフラグメントのonPause()の前に起こるということです。
各フラグメントのonPause()、onResume()、onStopこれはそれが吐き出す順序です。
FRAGMENT 2 RESUMED
FRAGMENT 1 PAUSED
FRAGMENT 1 STOPPED
これらの2つのフラグメントを調整して、各トランジション間をクリーンアップできる方法はありますか?
コミットする前に、['transaction.setAllowOptimization(false)'](https://developer.android.com/reference/android/support/v4/app/FragmentTransaction.html#setAllowOptimization(boolean))を実行します。 – azizbekian
あなたは命を救っています。私はそれを指定できるようにこれを答えとして入れてください。 – FireDragonMule