나는 의 항목을 필터링하기 위해 EditText
을 가지고 있는데, 일반적으로 1000 개 이상의 항목을 포함 할 수 있습니다. TextWatcher
은 다음과 같습니다 여기몇 가지 조치를 취하기 전에 얼마 동안 TextWatcher를 대기하게하는 방법
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) {
}
});
문제는 사용자가 입력 한 각 문자로 목록을 새로 고칠지고와는 UI가 느린 원인이 반복 목록 업데이트 점이다.
TextWatcher
을 1-2 초 동안 대기시키고 2 초 후에 입력이 더 이상 발생하지 않으면 어떻게 할 수 있습니까? 어떤 제안이 있니?
* 모든 제안들 * - 어댑터의'getFilter를 (사용하여'ListView'을 필터링하는 적절한 방법을 사용)'메소드를 호출합니다. – Luksprog
괜찮지 만 필터링은 다소 복잡합니다. 또한 두 개의 Checkboxes와 다른 매개 변수를 필터링해야하므로 내 유일한 옵션은 SQLite 쿼리를 통해 얻는 것입니다. – desidigitalnomad