启动一个要求runQueryOnBackgroundThread的过滤器

时间:2011-05-02 01:02:28

标签: android autocomplete filtering android-cursoradapter

如果我为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 :(得分:0)

  1. 实现runQueryOnBackgroundThread的类必须实现filterable。我们假设这个类叫做A.
  2. 在textview上设置一个监听器,这样无论什么时候发生变化,都会运行a.getFilter()。过滤器,其中“a”是A的实例,而“s”是你想要用作的文本。 runQueryOnBackgroundThread的参数。