Como fazer o TextWatcher esperar por algum tempo antes de fazer alguma ação
eu tenho umEditText
para filtrar os itens noListView
abaixo dela, que pode conter mais de 1000 itens normalmente. oTextWatcher
é:
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) {
}
});
O problema aqui é que, com cada letra digitada pelo usuário, a lista está sendo atualizada e é essa atualização de lista repetida que faz com que a interface do usuário seja lenta.
Como posso fazer oTextWatcher
aguarde 1-2 segundos e, se não houver mais entrada após 2 segundos, filtre a lista. Alguma sugestão pessoal?