2012-10-23 2 views
2

필자는 AutoCompleteTextView를 가지고 있으며 입력에 공간을 추가 할 때까지 멋지게 작동합니다. (1940), 벌지 전투 (1944), [많은 전투 삽입], 나폴레옹의 치명적인 행진 (1812), [많은 다른 역사적 사건 삽입] .AutoCompleteTextView 결과가 공백 일 때

"Battle"또는 "battle"을 입력하면 모든 전투 목록이 표시됩니다 (최대 값이있는 것 같지만). "britain"을 입력하면 "Battle of Britain (1940)"이 나타납니다. 결과에. 그러나 "Battle"이후에 공백을 입력하면 모든 결과 항목이 사라집니다.

this 이외의 주제에 관한 유용한 게시물이나 질문을 읽을 수는 없지만 답을주지 못했습니다.

공간을 삽입 한 후 AutoCompleteTextView가 자동 완성을 유지할 수있는 방법이 있습니까?

편집 : 그것은 단지 문자열과 어댑터 AutoCompleteTextView에,하지만 괜찮아요 나는 정말 코드를 추가 점을 볼 수 없습니다,이 onCreate()에서 일어나는 :

auto = (AutoCompleteTextView) findViewById(R.id.auto); 
String[] events = getListOfEvents(); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, events); 
auto.setAdapter(adapter); 

getListOfEvents() 단순히 읽는 경우 an 모든 역사적 사건을 넣으십시오

+0

어쩌면 코드를 공유 할 수 있습니까? – Luksprog

+0

나는 요점을 정말로 보지 못한다. 그것은 단지 내 질문에 제기 된 AutoCompleteTextView의 (기본?) 동작 일뿐입니다. – stealthjong

답변

4

AutoCompleteTextView ()에 설정된 어댑터의 필터를 사용하기 때문에 해당 공백 문자를 삽입 할 때 자동 완료가 중단됩니다. 귀하의 경우에는). 기본값 인 ArrayAdapter의 필터는 공백을 구분 기호로 사용하여 각 어댑터 행의 텍스트를 단어로 분리 한 다음 필터 입력에 대해 테스트합니다. 입력 필터 (공백이있는)가 행의 단어 중 어느 것과도 일치하지 않으므로 결과가 제공되지 않습니다. 단어 끝에는 공백이 없습니다. "전투" 단어 "전투"과 일치하지 않기 때문에 예를 들어 행 "영국의 전투""전투" 일치하지 않습니다, 또는 "영국" "의"하는 ""다음에 초기 텍스트를 나눈 결과입니다.

작동 시키려면 Adapter을 구현해야하며 단어 뒤에 공백을 고려하여 Filter을 반환해야합니다.

+0

감사합니다. 아마도 저녁에 살펴볼 것입니다. 작동하면 확인하겠습니다. – stealthjong

+0

@ChristiaandeJong 필터를 구현할 수 있었습니까? 이 질문을 확인하십시오 http://stackoverflow.com/questions/12911915/error-in-autocompletetextview-it-doesnt-show-dropdown-when-i-)-space-after – Luksprog

+0

아직 수정하지 않았습니다. 나는 주말에 그것을 시도 할 것이다. 왜냐하면 어떤 코드가 있기 때문이다.하지만 실제로 일어나는 일을 거의 설명하지는 않는다. 모든 사람들은 "내 getFilter() 구현"을하도록 지시합니다. 그러나 나는 어떻게 알아 내야 할 것이다. – stealthjong

관련 문제