2013-07-09 4 views
1

맞춤법 검사기가 활성화 된 EditText보기가 있습니다. 철자가 틀린 단어가있는 경우 해당 단어는 빨간색으로 표시되고 추천 목록이 드롭 다운 메뉴에 표시됩니다. 맞춤법이 틀린 단어 목록과 각 단어에 대한 제안 목록을 프로그래밍 방식으로 어떻게 찾을 수 있습니까? 참고 : 이 아니라 EditText입니다.Android EditText - 다시 정렬 된 텍스트 및 추천 단어 목록 찾기

+0

내 질문에 투표 한 사람에게 : 읽어 주셔서 감사합니다. 왜 투표했는지 논평 하시겠습니까? 누군가가 그 답을 알고 있을지도 모른다는 희망으로 그 질문을 게시하기 전에 조사를하는 데 몇 시간을 보냈습니다! – FCA

답변

3

다음은 제안을 찾을 수있는 쉬운 방법입니다. 이 색인의 값을 변경하면 오류가있는 단어를 찾을 수 있습니다. 스팬 된 배열의 각 항목에는 mSuggestions이라는 필드가 있습니다.이 필드는 문자열 배열이며 잘못된 단어에 대한 제안 단어를 제공합니다.

1

이것은 일종의 추측이지만, Android spellchecker classes과 마지막으로 EditText sourcecode을 살펴볼 것입니다.

작동 방식은 단순히 getText()을 사용하여 텍스트를 가져온 다음 맞춤법 검사기를 다시 실행하는 것입니다. spanned가 비어 있지 않은 경우

Spannable str = myEditText.getText(); 
SuggestionSpan[] spanned = str.getSpans(startIndex, endIndex, SuggestionSpan.class); 

startIndexendIndex 사이에있는 텍스트에 오류가 :

+0

Sebastian 대단히 감사합니다! 맞춤법 검사기를 다시 실행하면 문제가 해결됩니다. 제안한대로'EditText'와'TextView' 소스를보고 더 쉬운 방법을 찾을 수있었습니다. 내 대답은 아래를 참조하십시오. – FCA

+0

와우,'SuggestionSpan' - 그것에 대해 몰랐습니다. 시원한! –