0
fragments
をマネージャーに保存します。私は私のonBack
fragment
バックスタックマネージャから削除されてクリックした場合、今バックスタックからフラグメントを削除しないでください
FragmentTransaction fragmentTransaction = getSupportFragmentManager()
.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_in_right_frag, R.anim.slide_out_left_frag, R.anim.slide_in_left, R.anim.slide_out_right);
FragmentManager manager = getSupportFragmentManager();
manager.findFragmentByTag(title);
if (manager.findFragmentByTag(title) == null) {
fragmentTransaction.replace(R.id.fragment_container, fragment, title);
if (addToBackStack) {
fragmentTransaction.addToBackStack(null);
}
fragmentTransaction.commit();
} else {
fragmentTransaction.show(manager.findFragmentByTag(title)).commit();
}
: これはコードです。私はこの断片を元に戻してクリックしても、その断片を元に戻したいと思っています。 これが私のやり方です:
frag1 -> clickOnNext -> frag2 -> put some data in edittexts ->
clickOnBack -> frag1 -> clickOnNext -> frag2(frag has data from first time).
は今、常にfragment2
の新しいインスタンスを取得します。
オーバーライドメソッドonSaveInstanceState()でフラグメントの状態を保存できます。 look https://stackoverflow.com/questions/11353075/how-can-i-maintain-fragment-state-when-added-to-the-back-stack –