0

のフィルタリングを実装し、メソッドautocompleteをオーバーライドするとrunQueryOnBackgroundThread()、バックグラウンド スレッドが起動され、カーソルが取得されます。

そのカーソルは my に設定されますが、フィルタリングされ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;
}
4

1 に答える 1

0
  1. runQueryOnBackgroundThread を実装するクラスは、filterable を実装する必要があります。そして、このクラスが A と呼ばれるとしましょう。
  2. テキストビューにリスナーを設定して、何かが変更されるたびに a.getFilter().filter(s) を実行します。ここで、「a」は A のインスタンスで、「s」は runQueryOnBackgroundThread の引数として使用するテキストです。 .
于 2012-01-25T06:19:47.507 に答える