- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Óriásakkus telefon jöhet a Vivotól is
- Bemutatkoztak a Samsung legújabb fülhallgatói is
- One mobilszolgáltatások
- Telekom mobilszolgáltatások
- Xiaomi 14T - nem baj, hogy nem Pro
- Honor Magic6 Pro - kör közepén számok
- Utcakép banánnal: félrecsúszhat a Google Térkép fókusza
- iPhone topik
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
Ú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
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Óriásakkus telefon jöhet a Vivotól is
- CASIO órák kedvelők topicja!
- RAM topik
- Nyaralás topik
- AMD GPU-k jövője - amit tudni vélünk
- Feje tetejére állt a felskálázóverseny a Resident Evil Requiemben
- AMD FX
- Milyen billentyűzetet vegyek?
- Kormányok / autós szimulátorok topikja
- További aktív témák...
- Vállalom Xiaomi Okoskamerák szoftveres javíttását
- CÉGEK FIGYELEM!! iPhone 11 64GB Black -1 ÉV GARANCIA - 27% ÁFA-S SZÁMLA Kártyafüggetlen, 100% Akksi
- Apple iPhone 13 Pro Max Graphite ProMotion 120 Hz, Pro kamerák 128 GB-100%-3hó gari!
- MacBook Air M1 13" 16GB RAM 256GB SSD 27% áfás számla 0347AB
- Lenovo L14 Ryzen 5 4500U Refurbished - Garancia!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

