Video: A Trip to Unicorn Island 2024
En forekomst av android. app. FragmentManager-klassen tar vare på appens fragmenter. For eksempel, i koden under, endrer lederens erstatningsmetode fragmentet som vises på brukerens skjerm. Lederen hjelper deg også med å fla med aktiviteten din tilbake stakken.
pakke com. allmycode. frag; importere android. app. FragmentManager; importere android. app. FragmentTransaction; importere android. app. ListFragment; importere android. os. Bunt; importere android. utsikt. Utsikt; importere android. widget. ArrayAdapter; importere android. widget. Listevisning; offentlig klasse ComponentNamesFragment utvider ListFragment {endelig statisk streng [] COMPONENTS = {"Activity", "Service", "BroadcastReceiver", "ContentProvider"}; @Override public void onActivityCreated (Bundle savedInstanceState) {super. onActivityCreated (savedInstanceState); SetListAdapter (newAviceAdaptor (GetActivity (), android.Reformat. simple_list_item_1, COMPONENTS))} @Override public void onListItemClick (Listevisning l, Vis v, int indeks, lang id) {// Opprett fragment med indeks DocsFragment docsFragment = ny DocsFragment (); Bundle args = Helper. getBundleWithIndex (index); docsFragment. setArguments (args); // Fjern ryggstakken FragmentManager fragmentManager = getFragmentManager (); int backStackEntryCount = fragmentManager. getBackStackEntryCount (); for (int i = 0; iAktiviteter hoper seg oppå hverandre med suksessive startActivity-samtaler. Når brukeren trykker på Tilbake, popper Android en aktivitet fra stakken. Den sistnevnte aktiviteten er den første som dukker opp. Det er som om Android, sjefen, har en avtale med medlemmer av aktivitetsunionen. Android branner aktiviteter i omvendt rekkefølge av anciennitet.
Med introduksjon av fragmenter i Android 3. 0, kan en aktivitet ha sin egen private stack. Du kan vise fragment A og deretter ringe fragmentTransaction. erstatte og fragmentTransaction. addToBackStack. Kombinasjonen av metodeanrop gjør fragment B overskrivende fragment A. Når brukeren trykker på Tilbake, går fragment B bort, og fragment A går tilbake til stedet på aktivitetsskjermen.Android ødelegger ikke en hel aktivitet til aktiviteten ikke har noen fragmenter som den kan jettison.
I delen Ryd stakkelen av koden ovenfor, gjør fragmentadministratoren noe rask housekeeping av aktivitetens fragmentstakke.
Når du ringer til addToBackStack, har du muligheten til å levere et navn på oppføringen du legger på bakstakken. Hvis du oppgir null som argumentet for addToBackStack-anropet, er oppføringen ikke navngitt. Hvis du oppgir en streng på den tiden, senere i koden, kan du hente oppføringen ved å ringe FragmentManager. findFragmentByTag.