запустить фильтр, который запрашивает runQueryOnBackgroundThread - PullRequest
0 голосов
/ 02 мая 2011

Если я реализую фильтрацию для autocomplete и переопределю метод runQueryOnBackgroundThread(), будет запущен фоновый поток, который получит мне курсор.

Этот курсор будет установлен на мой CursorAdapter, но что еще я должен сделать для фильтрации записей autocomplete?

Должен ли я установить фильтр?

Это мой код:

public Cursor runQueryOnBackgroundThread(CharSequence constraint) {
    if (getFilterQueryProvider() != null) {
        return getFilterQueryProvider().runQuery(constraint);
    }

    String filter="";

    if(constraint==null)
        filter="";
    else 
        filter=constraint.toString();

    Cursor cursor=db.getCursor(filter);

    return cursor;
}

1 Ответ

0 голосов
/ 25 января 2012
  1. Класс, который реализует runQueryOnBackgroundThread, должен реализовывать фильтруемый.И давайте предположим, что этот класс называется A.
  2. , чтобы настроить прослушиватель на текстовое представление, чтобы при каждом изменении чего-либо вы запускали a.getFilter (). Filter (s), где "a" - это экземпляр A и "s "- это текст, который вы хотите использовать в качестве аргументов для runQueryOnBackgroundThread.
...