Middle
Kuidas erinevad meetodid add ja replace?
sobes.tech AI
Vastus AI-lt
Erinevus add ja replace meetodite vahel fragmentidega töötamisel saab kokku võtta järgmiselt:
add: Lisab uue fragmendi olemasolevate peale. Eelnevad fragmentid jäävad taustsüsteemi (kui kutsutiaddToBackStack) ning nende elutsükkel peatub (nad lähevad olekussePAUSED).replace: Eemaldab eelneva fragma konteinerist ja lisab uue asemele. Kui eelmine fragment oli taustsüsteemis, siis naasmisel luuakse see uuesti.
Näide add kasutamisest:
supportFragmentManager.beginTransaction()
.add(R.id.fragment_container, NewFragment())
.addToBackStack(null)
.commit()
Näide replace kasutamisest:
supportFragmentManager.beginTransaction()
.replace(R.id.fragment_container, NewFragment())
.addToBackStack(null)
.commit()
Peamised erinevused on kokkuvõtvalt tabelis:
| Omadus | add | replace |
|---|---|---|
| Nähtavus | Uus fragment paigutub olemasolevale peal | Uus fragment asendab eelneva |
| Eelneva f. seisund | Peatub (PAUSED) |
Eemaldatakse konteinerist, naasmisel luuakse uuesti |
| Taustsüsteem | Eelmine fragment jääb taustsüsteemi | Eelmine fragment eemaldatakse konteinerist, kuid võib olla taustsüsteemis |
| Tõhusus | Võib olla vähem tõhus suure fragmentide arvuga | Tavaliselt tõhusam sagedaste vahetustega fragmentide puhul |