맞춤법 검사기가 활성화 된 EditText
보기가 있습니다. 철자가 틀린 단어가있는 경우 해당 단어는 빨간색으로 표시되고 추천 목록이 드롭 다운 메뉴에 표시됩니다. 맞춤법이 틀린 단어 목록과 각 단어에 대한 제안 목록을 프로그래밍 방식으로 어떻게 찾을 수 있습니까? 참고 : 이 아니라 EditText
입니다.Android EditText - 다시 정렬 된 텍스트 및 추천 단어 목록 찾기
답변
다음은 제안을 찾을 수있는 쉬운 방법입니다. 이 색인의 값을 변경하면 오류가있는 단어를 찾을 수 있습니다. 스팬 된 배열의 각 항목에는 mSuggestions
이라는 필드가 있습니다.이 필드는 문자열 배열이며 잘못된 단어에 대한 제안 단어를 제공합니다.
이것은 일종의 추측이지만, Android spellchecker classes과 마지막으로 EditText sourcecode을 살펴볼 것입니다.
작동 방식은 단순히 getText()
을 사용하여 텍스트를 가져온 다음 맞춤법 검사기를 다시 실행하는 것입니다. spanned
가 비어 있지 않은 경우
Spannable str = myEditText.getText();
SuggestionSpan[] spanned = str.getSpans(startIndex, endIndex, SuggestionSpan.class);
이 startIndex
와 endIndex
사이에있는 텍스트에 오류가 :
Sebastian 대단히 감사합니다! 맞춤법 검사기를 다시 실행하면 문제가 해결됩니다. 제안한대로'EditText'와'TextView' 소스를보고 더 쉬운 방법을 찾을 수있었습니다. 내 대답은 아래를 참조하십시오. – FCA
와우,'SuggestionSpan' - 그것에 대해 몰랐습니다. 시원한! –
내 질문에 투표 한 사람에게 : 읽어 주셔서 감사합니다. 왜 투표했는지 논평 하시겠습니까? 누군가가 그 답을 알고 있을지도 모른다는 희망으로 그 질문을 게시하기 전에 조사를하는 데 몇 시간을 보냈습니다! – FCA