Ho un EditText
per filtrare sotto di esso gli elementi nello ListView
, che di solito contengono più di 1000 articoli. Il TextWatcher
è:Come fare in modo che TextWatcher attenda per un po 'di tempo prima di fare qualche azione
txt_itemSearch.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
fillItemList();
}
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
});
Il problema qui è che con ogni lettera digitata dall'utente, la lista è sempre aggiornata ed è questo aggiornamento elenco ripetuto che fa sì che l'interfaccia utente per essere lento.
Come è possibile fare in modo che TextWatcher
attenda per 1-2 secondi e se non si verificano ulteriori input dopo 2 secondi, filtrare l'elenco. Qualche suggerimento ragazzi?
* Eventuali suggerimenti ragazzi * - utilizzare il modo corretto di filtrare il 'ListView' utilizzando' getFilter dell'adattatore () 'metodo. – Luksprog
OK, ma il filtro è un po 'complesso. Ho anche un paio di checkbox e altri parametri da filtrare, quindi la mia unica opzione è di farlo attraverso la query SQLite. – desidigitalnomad