Ú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
- BESZÁMÍTÁS! ASRock Z370 i7 8700 16GB DDR4 512GB SSD RX 6600XT 8GB Rampage SHIVA Thermaltake 550W
- Xbox One S 1 TB + kontroller 6 hó garancia, számlával!
- HIBÁTLAN iPhone 15 Pro Max 256GB Blue Titanium -1 ÉV GARANCIA -Kártyafüggetlen
- CSÍKOS! MacBook Pro 16" M1 Pro 16GB 512GB Gar.
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest
))
