2012-04-21 6 views
1

난 단지 searchabledictionary 안드로이드 샘플을 사용했습니다.이 샘플은 windows 용 안드로이드 SDK의 samples 폴더에 있습니다. (API 레벨 9)android SearchableDictionary 샘플 - 단어 제안

나는 앱이 단어를 제안하려고 key - value 내가 검색 영역에서 단어를 입력 같은 동일한 형식과 definitions.txt 파일을 완료,하지만 정확한 word.here가 발견되지 않습니다 보기. 나 단어 test을 검색하고,이 definitions.txt이다

승인 테스트 -

산 테스트 의미 -

알파 테스트를 의미 -

벤치 마크 테스트를 의미 -

을 의미한다. ...

비행 테스트 - 평균 NG

부하 테스트 - 의미

....

테스트 - 의미

는이 목록의 15 개 첫 단어를 찾아

(잘하면 검색하지 않는 단어 attestaion 등) 정확한 단어는 표시되지 않습니다. test!

나는 DictionaryProviderDictionaryDatabase을 읽었지만 문제의 근원을 알지 못했습니다!

질문은 어떻게 목록의 처음에 정확한 단어 test을 제안 할 수 있습니까?

답변

0

Dictionary.java를 확인하면 loadWords 기능이 표시됩니다. 이 함수는 definitions.txt 파일을 열고 모든 행을 반복하고 모든 행을 "-"로 분할하고 해시 맵 사전에 추가합니다.

그리고 다시 동일한 파일에는 검색 키워드를 사용하고 사전에서 결과를 얻는 getMatches 함수가 있습니다.

잘 모르겠지만 제안을 검색 할 때 첫 번째 일치 항목 몇 개가 표시됩니다. 그리고 "test"키워드가 너무 많은 줄에 있고 "test - meaning"가 마지막 정의이기 때문에 제안 목록에서 볼 수 없습니다.

"testing-meananing"행을 definitions.txt의 맨 처음 행으로 옮길 수 있습니다.

+0

"test-meananing"을 텍스트 파일의 첫 번째 줄로 옮기는 것은 좋지 않습니다. 단지 예제 일 뿐이므로, 나는 'test'라는 단어가 아닌 list의 처음에 사용자 정의 단어를 설정하고 싶습니다. 항상! – rene