Hirdetés
- iPad topik
- Milyen TV-t vegyek?
- Miért rossz a mikrofon hangja? - 3 tipikus hiba
- Kész, vége, ennyi volt: eladja tévés üzletágát a Sony
- SSD-től lopott funkciókat biztosít a Raspberry Pi USB-kulcsa
- Milyen processzort vegyek?
- AMD Navi Radeon™ RX 9xxx sorozat
- AMD APU (AM4 és AM5) topik
- Házimozi haladó szinten
- TCL LCD és LED TV-k
Új hozzászólás Aktív témák
-
thon73
tag
válasz
WonderCSabo
#1812
üzenetére
Az, hogy lényeges különbség van a retained Fragment ELSŐ LÉTREHOZÁSA, és az összes többi VISSZAÁLLÍTÁS között.
Vagyis:
A Fragmentet először az Activity.onResumeFragments részben fogom megtalálni. Ha nincs meg, akkor itt kell először is létrehozni.
Ha nem volt meg, akkor a létrehozás után még semmilyen élitciklus nem fut le (majd csak az onResumeFragments UTÁN)
Ha viszont megvolt, akkor eddigre minden lefutott, beleértve a Fragment.onResume metódusát is.A konkrét próbálkozásban egy ListFragmentet készítettem, amelyik az adatait ebből a megőrzött globális adatállományból veszi (a végső megoldás mindig egy kicsit összetettebb persze). Ez azt jelenti, hogy valahol meg kell mondjam az adapternek, hogy hol vannak az adatai.
Az első létrehozáskor (persze ilyenkor az adatállomány még üres, de majdan ide fog bekerülni) nem lesz gond, hiszen mire a ListFragment életciklus részei lefutotnak, ott van az Activityből elérhető módon a másik, adatokat tartalmazó Fragment.
Minden további indításkor azonban mindkét Fragment végigfut az onResume-ig, mielőtt én egyáltalán látnám az adatokat tartalmazó Fragmentet az Activity.onResumeFragments részében! Vagyis nekem kellene kiadni egy pl. MyListFragment.onVariableReady() utasítást, ami betölti az adapterbe az immáron elérhető adatokat.
Ez a megoldás viszont az első indításkor nem lesz jó, hiszen még adapter sincs sehol!
Hozzáteszem: ez a ListFragment dolog valójában csak egy próba. Nekem egy sok részletből álló rajzot kellene elkészítenem, aminek az egyes részeit tudom egy-egy Fragmenttel megalkotni. Az alapadatokat természetesen mentem, de minden apró számítást nem akartam. Ettől a speciális problémától elvonatkoztatva a kérdés általános érvényű: hová tegyem a Fragment megőrzendő adatait, ha magát a konkrét Fragmentet nem akarom megőrizni ((mert pl. változik a gép fordításával))?
A static field egyébként jó ötlet, csak úgy emlékszem, valamiért (újra el kellene olvasni) kerülendőnek javasolta a hivatalos doksi. De ezt elő kéne ásni, lehet, hogy rosszul emlékszem...
((Bocs, ha kicsit bonyolult, már játszom vele egy ideje. Szívesen küldök kódot, de a sallangok, és próbálkozások miatt előbb ki kellene fésülnöm. Bár kivételesen a szöveg talán többet mond.))
Új hozzászólás Aktív témák
- Nyaralás topik
- Chosen: Intel Arc B580 játék kompatibilitás (2026.01)
- Nintendo Switch 2
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Kínai és egyéb olcsó órák topikja
- Temu
- Xiaomi 14T - nem baj, hogy nem Pro
- Elektromos autók - motorok
- iPad topik
- Milyen légkondit a lakásba?
- További aktív témák...
- G.SKILL Ripjaws M5 RGB 32GB (2x16GB) DDR5 6000MHz CL30 WHITE - XMP - 120 hó garancia
- Kingston FURY Beast 32GB (1x32GB) DDR5 6000MHz CL36 - XMP/EXPO - 99 hó garancia
- Patriot Viper Venom 32GB (2x16GB) DDR5 7400MHz CL36 - XMP - 120 hó garancia
- Corsair VENGEANCE 32GB (2x16GB) DDR5 6000MHz CL30 - XMP/EXPO - 120 hó garancia
- CRUCIAL 32GB (2x16GB) Pro OC DDR5 6400MHz CL32 WHITE - XMP/EXPO - 120 hó garancia
- GYÖNYÖRŰ iPhone 12 mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4207
- Felújított laptopok számlával, garanciával! Ingyen Foxpost/PostaPont!
- HIBÁTLAN iPhone XS Max 64GB Gold -1 ÉV GARANCIA - Kártyafüggetlen, MS2898
- ÁRGARANCIA!Épített KomPhone Ultra 7 265KF 32/64GB RAM RTX 5090 32GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 14 Pro Max 128GB Deep Purple - 1 ÉV GARANCIA -Kártyafüggetlen, MS3702
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


