내 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()
를 호출로,Cursor
세 사실 우리가 잘못하고있는 것. 결과를 얻지 못했습니까? 오류 메시지? –그건 그렇고 : 사용자 입력을 필터링되지 않은 데이터베이스로 이동시키는 것은 * bad *입니다. 바비 테이블을 생각 나니? –
죄송합니다. 언급하지 않으 셨습니다. 목록은 그대로 유지됩니다. 즉, 필터별로 업데이트되지 않습니다. db 입력 팁을 주셔서 감사합니다 :) 나는 숫자와 쿠페 특수 문자 만 입력하도록 제한합니다. 따라서 걱정할 필요가 없습니다. – Phat7