Vraag Is het OK om addToBackStack toe te voegen en te vervangen in een fragmenttransactie?


Eventuele gedachten over de volgende code? In mijn testen heb ik geconstateerd dat het vervangen fragment niet wordt vernietigd en dat het exemplaar nog steeds in de buurt is wanneer de backstack knalt. Gewoon kijken om te verifiëren dat dit een geldige manier is om fragmenttransacties te gebruiken.

getSupportFragmentManager().beginTransaction().addToBackStack(null).replace(frame, fragmentB).commit();

Mijn reden voor het gebruik van replace is dat het ervoor zorgt dat het vervangen fragment zijn exit-animatie uitvoert.


15
2017-11-07 20:40


oorsprong


antwoorden:


U kunt de Android-ontwerpgids voor fragmenttransacties raadplegen: http://developer.android.com/guide/components/fragments.html

Specifiek het onderstaande fragment:

// Create new fragment and transaction
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();

// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);

// Commit the transaction
transaction.commit();

Dus ja, wat je doet is de juiste aanpak bij het vervangen van fragmenten.


21
2017-11-08 16:10