2011-05-02 33 views
0

如果我爲autocomplete實現過濾,並且我重寫runQueryOnBackgroundThread()方法,將啓動一個後臺線程,它將爲我提供一個遊標。啓動一個要求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; 
} 

回答

0
  1. 實現runQueryOnBackgroundThread必須實現過濾的類。我們假設這個類被稱爲A.
  2. 在textview上設置一個監聽器,以便每當發生變化時,運行a.getFilter()。filter(s),其中「a」是A的一個實例,「s」是您想用作runQueryOnBackgroundThread的參數的文本。