listView
을 EditText
상자를 사용하고 어댑터 getFilter()
기능을 사용하여 필터링하고 싶습니다. 그것은 텍스트 상자에 공백 문자를 넣을 때까지 잘 작동합니다.안드로이드 필터 ListView - 공백 문자
편집 : 내 목록이 단어가 포함 된 경우 그것은 SimpleAdapter가
를 ArrayAdapter와 아니다 : { "애플", "바나나", "레드 애플"} 나는 "사과"가 모두 반환됩니다 입력하면 Apple이라는 단어가 들어있는 항목 (Apple 및 Red Apple). "apple"을 입력하면 아무 것도 반환하지 않습니다.
아이디어가 있으십니까? 이 사용
searchBox = (EditText) findViewById(R.id.searchBox);
searchBox.addTextChangedListener(filterTextWatcher);
및
private TextWatcher filterTextWatcher = new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
myAdapter.getFilter().filter(s.toString());
}
};
당신은 이것을 알아 냈습니까? –
미안합니다. 솔루션을 ArrayAdapter 기반으로 자신의 어댑터를 만드는 것일 수도 있지만 생각하지 않았다 (그 프로젝트에서 작업을 중지). – Chris911
@CaptainProg 어떤 유형의 대답을 찾고 계십니까? 'trim()'을 사용하여 제기 된 원래의 질문은 최선의 대답입니다. – Sam