Hirdetés
- AMD Navi Radeon™ RX 9xxx sorozat
- Fejhallgató erősítő és DAC topik
- Bambu Lab 3D nyomtatók
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen TV-t vegyek?
- Vezeték nélküli fülhallgatók
- 5.1, 7.1 és gamer fejhallgatók
- Házimozi haladó szinten
- Azonnali alaplapos kérdések órája
- Kormányok / autós szimulátorok topikja
Ú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
- Samsung Galaxy A52s 5G - jó S-tehetség
- Mibe tegyem a megtakarításaimat?
- AMD Navi Radeon™ RX 9xxx sorozat
- Százmilliárd dolláros AI-fegyverkezésbe kezdett az Amazon és a Google
- Fejhallgató erősítő és DAC topik
- Racoon City árnyékában: Teszteltük a Resident Evil Requiemet
- Starlink
- Bambu Lab 3D nyomtatók
- Tőzsde és gazdaság
- Autós topik
- További aktív témák...
- i3-8100 és i3-8100T - stabil, gyors, megbízható - ideális otthonra vagy irodába
- Lenovo LOQ 15IRX10 i5-13450HX RTX5060 32GB 1000GB Teljeskörű garancia
- Lenovo LOQ 17IRX10 i5-13450HX RTX5050 24GB 1000GB Teljeskörű garancia
- Dell Inspiron 5502 notebook
- Samsung Galaxy S23 Ultra 8/256GB - Kártyafüggetlen, Fekete - 1 Év Garanciával
- Dell USB-C dokkolók: (K20A) WD19/ WD19S/ WD19DC + 130W, 180W, 240W töltők
- HP ProBook 445 G10 14" Ryzen 5 7530U, 16GB RAM, 512GB SSD, jó akku, számla, 6 hó gar
- Dell és HP szerver HDD caddy keretek, adapterek. Több száz darab készleten, szállítás akár másnapra
- GYÖNYÖRŰ iPhone 14 Pro Max 256GB Space Black-1 ÉV GARANCIA - Kártyafüggetlen, MS4143
- 230 - Lenovo Legion 5 (15IRX10) - Intel Core i7-13650HX, RTX 5060
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

