2

내 응용 프로그램에 AutoCompleteTextView이 있지만 표시되는 내용보다 DropDownMenu의 모든 항목 뒤에 훨씬 더 많은 부분이 있습니다.자동 완성 텍스트 뷰가 결과를 줄이지 않도록 방지

나는 에 대해 내 자신의 ArrayAdapter을 가지고 있으며, 사용자가 아무 것도 입력하지 않으면 autocompleteTextView가 드롭 다운 목록을 줄이기 시작합니다. 이것이 내가 바꾸고 싶은 것입니다. 사용자가 새 문자를 입력 할 때마다 database에서 새 검색을하고 팝업 메뉴에서 모든 것을 표시하려고합니다. 즉 autocompleteTextView이 사용자가 입력 중입니다.

내 질문에, 결과를 줄이기 위해 autocompleteTextView를 차단하는 방법이 있습니까? 아니면 내 드롭 다운 메뉴에서 텍스트 편집보기를 더 쉽게 할 수 있습니까?

감사합니다.

+0

EditText 옵션은 autoCompleteTextView와 비교하여이 기능을 구현하는 가장 좋은 방법이라고 생각합니다. –

답변

1

마지막으로 완벽하게 작동하는 해결책을 발견했습니다. 내가 그것을 얻는 데 많은 시간을 할애하기 때문에 그것을 공유하고 싶습니다.

AutoCompleteTextView에는 필터를 설정하지 않는 방법이나 사용자 지정 파일러를 사용하는 방법이 없습니다.

내가 작성한대로 AutoCompleteTextView에 사용자 지정 ArrayAdapter가 있습니다. 그래서 내가 한 것은 ArrayAdapter 클래스에 이고, getFilter 함수을 오버라이드합니다.

그리고 대답을 게시하는 사람들에게 신망을 전하십시오. here.

@Override 
    public Filter getFilter() { 
    return new KNoFilter(); 
} 

private class KNoFilter extends Filter { 

    @Override 
    protected FilterResults performFiltering(CharSequence arg0) { 
     FilterResults result = new FilterResults(); 
      result.values = searchResults; 
      result.count = searchResults.size(); 
     return result; 
    } 

    @Override 
    protected void publishResults(CharSequence arg0, FilterResults arg1) { 
     notifyDataSetChanged(); 
    } 
}