Hirdetés

Keresés

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

  • thon73

    tag

    válasz SektorFlop #1412 üzenetére

    Írtam egy kis programot hozzá. EZT vettem alapul. És ITT a bővített program zip formában.

    A teljes arraylist-et az outputFragment kezeli. Amikor az inputFragment-en beírsz, az értéket elküldi az Activity-nek, az Activity pedig továbbküldi az outputFragment-nek. Ez utóbbi írja be a list-be, és frissíti a listát.

    A Te esetedben nem az activity, hanem a db hordozza az adatot. De az array-t szerintem a listfragmentnek kéne kezelnie (vagy az activity-nek).
    A lényeg: MINDENKÉPPEN jeleznie kell az inputFragmentnek a ListFragment irányába, hogy új elem érkezett!! Ezt nem fogja (szerintem) beépített on... metódus megtenni, neked kell megcsinálni. VAGY: a LOader osztály már megcsinálja "magától".

    A példa globális adapter változót használ, de a getListAdapter() is jó, csak a típusát módosítani kell (uis. nincs benne notifyDataSetChanged)

    public void refreshOutput( String data )
    {
    // 1. érdekes: ez is működik
    // lista.add( data );

    // 2. adapter írja be - azonnal kiírja
    // adapter.add( data );

    // 3. invalidateviews - azonnal működik
    // lista.add( data );
    // getListView().invalidateViews();

    // 4. notify
    lista.add( data );
    adapter.notifyDataSetChanged();
    }

    A fenti kódban váltogasd a kommenteket, de szerintem nem ez a baj, hanem a ListFragment nem kap értesítést. ((Hogy az 1. példa miért működik, azt nem tudom, annak nem lenne szabad. :) ))

    Ja, igen. A forgatás (újraindítás) törli a listánkat, de most nem is ez volt a feladat. Neked meg a db úgyis megmarad.

    Remélem segítettem

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