Mam EditText
, aby filtrować elementy znajdujące się pod ListView
, które zwykle mogą zawierać więcej niż 1000 elementów. TextWatcher
jest:Jak sprawić, że TextWatcher będzie czekać przez jakiś czas, zanim wykona jakąś czynność?
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) {
}
});
Problem jest to, że z każdej litery wpisane przez użytkownika, lista jest weryfikowana i jest to powtarzane aktualizacji listy, która powoduje, że interfejs będzie powolny.
Jak mogę odczekać 1-2 sekundy, aby TextWatcher
i jeśli po 2 sekundach nie nastąpi więcej danych wejściowych, odfiltruj listę. Jakieś sugestie facetów?
* Wszelkie sugestie facetów * - użycie właściwego sposobu filtrowania 'ListView' użyciem' metodę getFilter adaptera () 'metoda. – Luksprog
OK, ale filtrowanie jest trochę skomplikowane. Mam również kilka Checkboxów i inne parametry do filtrowania, więc moją jedyną opcją jest pobranie ich za pomocą zapytania SQLite. – desidigitalnomad