Új hozzászólás Aktív témák
-
thon73
tag
válasz
WonderCSabo
#2096
üzenetére
Az entries értékét leellenőriztem, az mindig megfelelő.
Egy kicsit előrébb jutottam - néha ugyanis feldobja a listát, néha nem - és azt találtam, hogy elindítja a filtert, mégpedig mindenképp. A filter viszont kiveszi a még üres (null) értéket az adatokból, majd PÁRHUZAMOSAN fut a performFiltering és a Loader. A Loader előbb végez, és onLoadFinished-ben beállítja az adatokat. Majd jön a Filter (ami még az üres adatokat szűrte!), és átállítja az egész történetet üresre, hiszen -szerinte - nincsenek is adatok.
Erre nem is gondoltam, mert 1. ekkor még elvileg nem is létezik a filter. 2. ha a filter-szöveg üres, akkor nem is szűr. Csakhogy ilyenkor is beállítja a teljes adatmennyiséget - ami szerinte: üres.Namost. Hogyan bogozom ezt ki?
Az onCreateView-ben állítom be a filtert, így:filter = (EditText) view.findViewById(R.id.filter);
filter.addTextChangedListener(new TextWatcher()
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{
((MainListAdapter)getListAdapter()).getFilter().filter(s);
}Ezt nem tudom nagyon máshova tenni, mert csak egyszer indíthatom el.
Tegyek be egy flag-et az adapterbe, ami figyeli, hogy vannak-e már beállított adatok??
Vagy ne engedjem meg, hogy az adatok értéke null legyen? Hanem az üres adatot egy üres (de létező) ArrayList jelentse?
Vagy mit érdemes ilyenkor csinálni?((Az ArrayAdapter is alternatíva lenne, de annak majd minden részét módosítottam volna, ezért használtam BaseAdapter alapot. Sztem. a probléma ettől független. ))
Be is bizonyítottam, hogy ez a probléma, itt:
protected void publishResults(CharSequence constraint, FilterResults filterResults)
{
------------------>if (filterResults.values != null)
{
filteredEntries = (List<SampleEntry>) filterResults.values;
notifyDataSetChanged();
}
}No, így működik. Órákat játszottam vele, de erre nem gondoltam volna...
Most már csak arra kell rájönnöm, hogy a.) mi a nyavaja indítja a filtert b.) ezt a tákolt ellenőrzést hogyan tudom szépen megcsinálni...
Új hozzászólás Aktív témák
- Horgász topik
- Autós topik
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Windows 11
- LCD, plazma és projektoros TV-k hibái
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Samsung Galaxy Felhasználók OFF topicja
- Konkrét moderációval kapcsolatos kérdések
- Google Pixel topik
- Nem fut az Intel grafikus vezérlőin az év egyik legjobban várt címe
- További aktív témák...
- Samsung Galaxy S25 Ultra 12/256gb (Jetbalck) - Újszerű, PITAKA tokkal, akár beszámítással
- i5-9600KF + ASUS PRIME Z390-P (RAM nélkül)
- MSI A850GF 850W Gold PCIe 5 Atx 3.0 12VHPWR Tápegység
- 4K Gamer PC (Ryzen 9 7950X3D, RX 7900 XTX, 64GB DDR5)
- Samsung Galaxy A35 256GB,Használt,Adatkabel,12 hónap garanciával
- iPhone 15 128GB Black-1 ÉV GARANCIA - Kártyafüggetlen, MS3944, 100% AKKSI
- Apple iPhone 17 Pro Max 256GB,Újszerű,Dobozaval,24 hónap garanciával
- Samsung Galaxy Tab A9+ 128GB,Újszerű,Dobozaval,12 hónap garanciával
- Eredeti Lenovo 90W szögletes (téglalap) notebook táp + kerek átalakító egyben eladó
- HIBÁTLAN iPhone 13 Mini 256GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS4428
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
