我想通過在EditText中發生OnTextChange時修改我的遊標選擇來過濾聯繫人列表。問題是:列表保持原樣,即不按照過濾器進行更新。我究竟做錯了什麼?我懷疑這是我的SQL查詢(特別是GLOB部分)?用WHERE條件過濾遊標
digitsText.addTextChangedListener(new TextWatcher(){
public void onTextChanged(CharSequence s, int start, int before, int count){
filterText = digitsText.getText().toString();
WHERE_CONDITION = ContactsContract.Data.DATA1 + " GLOB '*" + filterText + "*'";
cursor = getContentResolver().query(URI, PROJECTION, WHERE_CONDITION, null, SORT_ORDER);
startManagingCursor(cursor);
setListAdapter(adapter);
}
});
調用
setListAdapter()
這將有很大的幫助,如果你要對我們來說,實際上出了什麼問題。沒有得到結果?錯誤訊息? –順便說一下:讓用戶輸入未經過濾的數據庫是* bad *。回想鮑比表? –
對不起,忘了提及 - 列表保持原樣,即它不會按照過濾器進行更新。感謝db輸入提示:)我將輸入限制爲只有數字和coupe特殊字符,所以不用擔心。 – Phat7