Как работать с поиском в андроид?

Есть код
public void onTextWatcher(final CustomAdapter customAdapter){
        this.customAdapter = customAdapter;
        textWatcher =  new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3){
            }
            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
                customAdapter.getFilter().filter(editTextSearch.getText().toString());
                if (CustomAdapter.subItems.size() == 0){
                    Toast.makeText(context,"нет совпадений",Toast.LENGTH_SHORT).show();
                }
            }
            @Override
            public void afterTextChanged(Editable editable) {
            }
        };
        editTextSearch.addTextChangedListener(textWatcher);
    }

Хочу, чтобы при поиске, если нет совпадений, то что-нибудь выводило. Сейчас выводит с задержкой в 1 символ. Помогите разобраться, пожалуйста.
  • Вопрос задан
  • 2521 просмотр
Пригласить эксперта
Ответы на вопрос 2
@bimeg
customAdapter.getFilter().filter()
это выполняется в отдельном потоке и рузельтат будет позже. Поэтому

if (CustomAdapter.subItems.size() == 0){
использует предыдущий результат.

Если у вас кастомный фильтр, то условие надо проверять в publishResults
Ответ написан
@kirawa Автор вопроса
ну подскажите как сделать, что использовать AsyncTask? Хоть примерно наведите меня
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы