0

I want to save fragments in manager, even if I click on back. This is code:

 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();
        }

now if I click onBack my fragment is removed from back stack and manager. I want to even if I click back save this fragment so If I click next I want to back to this fragment. This is my way:

frag1 -> clickOnNext -> frag2 -> put some data in edittexts ->
clickOnBack -> frag1 -> clickOnNext -> frag2(frag has data from first time).

Now always get new Instance of fragment2.

Phantômaxx
  • 36,442
  • 21
  • 78
  • 108
edi233
  • 3,017
  • 11
  • 48
  • 86
  • You can save fragment state by override method onSaveInstanceState(). have look https://stackoverflow.com/questions/11353075/how-can-i-maintain-fragment-state-when-added-to-the-back-stack – Hemant Parmar Nov 07 '17 at 11:31

1 Answers1

0

Use fragmentTransaction.add(R.id.fragment_container, fragment, title); instead of fragmentTransaction.replace(R.id.fragment_container, fragment, title);

And handle showing/hiding of fragments in your activity onBackPressed event.

mrid
  • 5,408
  • 5
  • 19
  • 56