Keresés

Új hozzászólás Aktív témák

  • thon73

    tag

    válasz thon73 #645 üzenetére

    Nem tudok elszakadni a felszaporodó fragmentek problémájától...
    Sehol nem írják ezt a megoldást, pedig nekem minden bajomat megoldotta. Sőt! Portrait-ból Landscape-be való visszafordításnál a másodlagos Fragmentben lévő adatok is megmaradtak! (Lévén ugyanaz a Fragment jelent meg máshol)

    layout/main.xml

    <FrameLayout
    android:id="@+id/portrait"
    ... >
    <FrameLayout
    android:id="@+id/list_frame"
    ... />
    <FrameLayout
    android:id="@+id/edit_frame"
    ... />
    </FrameLayout>

    layout-land/main.xml

    <LinearLayout
    android:id="@+id/landscape"
    ... >
    <FrameLayout
    android:id="@+id/list_frame"
    ... />
    <FrameLayout
    android:id="@+id/edit_frame"
    ... />
    </LinearLayout>

    Vagyis: ugyanazok az id-k mind landscape,mind portrait módban. Természetesen portrait módban a két frame "átfedi" egymást, tehát a program logikájának kell megoldani, hogy hol az EDIT, hol a LIST fragment legyen felcsatolva a saját (átfedő) Frame-jébe.
    Az egész program (ill. ez a része) csak KÉT Fragment Példányt tartalmaz. És egy Activity van (ez volt a cél)

    Szól ez ellen a megvalósítás ellen vmilyen. érv? Nekem működőképesnek tűnik. Mivel a két layout egyszerre nem valósul meg, az id-k sem akadnak össze. Mindkét frame mindig a "saját" frame-jébe lesz bekapcsolva, mindig a saját tag-jével jelölve. Nincs változás, nincs hibaüzenet. Mivel nem a frame-ek kapcsolnak ki/be, az animációk ugyanúgy látszanak.
    Mégsem olvastam ilyen megoldást sehol. Van ezzel vmi baj szerintetek?
    Tényleg senkinek nem volt még nehézsége a fragmentek megvalósításával? Tényleg senkinél nem szaporodtak még fel az elforgatások során? :F

    [ Szerkesztve ]

  • thon73

    tag

    válasz thon73 #645 üzenetére

    Fragmentek körében - tud nekem segíteni valaki? :F

    A kód hosszú, de ha kell elküldöm. A kérdések egyszerűbbek.
    Ha egy Fragment objektumot létrehozok, az - már bizonyos - örökre megmarad.
    Ráadásul, hiába adom ki a remove transactiont (és commit-ot is, persze), utána eltűnik, de az activity újraindulásakor visszalópódzik az elvileg üres View-ba. :W
    A Tag és Id csak akkor él, amikor a Fragment be van rakva a View-ba.

    - Hogyan lehet ezt a létező Fragment-et (remove, commit után) fellelni? ((Az Activity felleli, mert indításkor visszapakolja! De én csak akkor tudom megtalálni, ha egy globális "változóban" tárolom.))
    - vagy hogyan lehetne "destroy"-ra kényszeríteni?
    - Tapasztalta-e már valaki a fentieket, ill. okozott-e ez problémát?
    - Ti ezt hogyan csináljátok?

    A hiba akkor bukott ki, amikor egy amúgy jól működő(?) kód, minden fordításkor szaporítani kezdte a menu elemeket. További vizsgálódáskor találtam ezt, amit a doksi nemigen emleget. A neten a fentiekkel csak kérdés formájában találkoztam, választ nem találtam.
    Előre is köszönöm, ha valaki fáradozik ezzel!

Új hozzászólás Aktív témák