Új hozzászólás Aktív témák
-
thon73
tag
Íme egy újabb feladvány:
Egy ListFragment-et tölt fel egy CursorLoader, éppen úgy, ahogyan az API Guides/Loaders-ben meg van írva.
A program tökéletesen működik, hol a ListFragment, hol a másik ugrik fel. De csak akkor, amikor a másik fragmentben történik vmi. adatbázis változtatás. Ha változtatás nélkül térek vissza (pl. Back), akkor valamiért az EmptyView-t kapom meg.
Pedig az onLoadFinished mindig meghívásra kerül (változó, hogy hol, de mindig az onResume előtt). Sőt, az itt lévő Cursor tartalmazza az elemeket!! Hiába próbálom rávenni az Adaptert, hogy megváltoztak az elemek, marad az EmptyView.
Ha az Activity újraindul, akkor persze (először) működik. Ami fontos, a ListFragment-et tárolom, így mindig ugyanaz a Fragment "jön vissza".
Röviden: A ListFragment saját list View-ja nem érzékeli az Adapterben lévő Cursor-t.
Kérdéseim:
Találkozott már valaki ilyennel, és tudja, hogy mit rontottam el?
Ha nem, akkor tudja-e valaki, hogy miként tudnám kényszeríteni az adaptert v. a listView-t, hogy frissítse magát? Pontosabban HOL tudnám ezt megtenni, mert az egész lekérdezés az onResume UTÁN történik, minden ELŐTTE kiadott invalidate, notify stb. parancs hatástalan.
Vagy tudja-e valaki fejből merre kell keresnem a forráskódban azt a részt, ahol eldől, hogy Empty v. List view lesz a megjelenített?
Ami érdekes: hasonló tapasztalat van fenn a SO-n, de választ nem találtak rá. Ötletem még annyi van, hogy csinálok saját adaptert, aztán csak kiderül, hol a bibi. De ha valaki tudná a választ, az valószínűleg sok-sok órát megtakarítana.
Kódot szívesen küldök, de hosszú. Ha van érdeklődő, akkor megpróbálom a hibáig leegyszerűsíteni. Előre is köszönöm!
Új hozzászólás Aktív témák
- Infinix Hot 11s / 4/128GB / Kártyafüggetlen / 12Hó Garancia
- Apple iPhone 16 Pro Max 256GB fekete titán használt, megkímélt 100% akku (140 ciklus)
- AKCIÓ! Inno3D 3X RTX 4080 Super 16GB videokártya garanciával hibátlan működéssel
- 268 - Lenovo Yoga Pro 9 (16IAH10) - Intel Core U9 285HX, RTX 5060 (multitouch)
- GAMER PC! Ultra 7 265 / RTX 5070 / 32GB DDR5 / 1TB NVMe / 750w Gold / BeszámítOK !
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
