Hirdetés

Ú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