private void dumpSuggestionsInfoInternal( final List<String> sb, final SuggestionsInfo si, final int length, final int offset) { // Returned suggestions are contained in SuggestionsInfo final int len = si.getSuggestionsCount(); for (int j = 0; j < len; ++j) { sb.add(si.getSuggestionAt(j)); } }
/** * Checks for typos and sends results back to native through a JNI call. * @param results Results returned by the Android spellchecker. */ @Override public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] results) { ArrayList<Integer> offsets = new ArrayList<Integer>(); ArrayList<Integer> lengths = new ArrayList<Integer>(); for (SentenceSuggestionsInfo result : results) { for (int i = 0; i < result.getSuggestionsCount(); i++) { // If a word looks like a typo, record its offset and length. if ((result.getSuggestionsInfoAt(i).getSuggestionsAttributes() & SuggestionsInfo.RESULT_ATTR_LOOKS_LIKE_TYPO) == SuggestionsInfo.RESULT_ATTR_LOOKS_LIKE_TYPO) { offsets.add(result.getOffsetAt(i)); lengths.add(result.getLengthAt(i)); } } } nativeProcessSpellCheckResults(mNativeSpellCheckerSessionBridge, convertListToArray(offsets), convertListToArray(lengths)); }
public class SpellChecker implements SpellCheckerSessionListener { public SpellChecker(Activity a) { final TextServicesManager tsm = (TextServicesManager) a.getSystemService( Context.TEXT_SERVICES_MANAGER_SERVICE); SpellCheckerSession scs = tsm.newSpellCheckerSession(null, null, this, true); TextInfo[] tia = {new TextInfo("trewgjj"), new TextInfo("great")}; scs.getSentenceSuggestions(tia, 3); } @Override public void onGetSuggestions(SuggestionsInfo[] results) { // TODO Auto-generated method stub } @Override public void onGetSentenceSuggestions(SentenceSuggestionsInfo[] results) { for (int i = 0; i < results.length; ++i) { // Returned suggestions are contained in SuggestionsInfo for (int j = 0; j < results[i].getSuggestionsCount(); ++j) { SuggestionsInfo si = results[i].getSuggestionsInfoAt(j); if ((si.getSuggestionsAttributes() & SuggestionsInfo.RESULT_ATTR_IN_THE_DICTIONARY) != 0) Log.d("", "EXACT MATCH FOUND"); } } } }
private void dumpSuggestionsInfoInternal( final List<String> sb, final SuggestionsInfo si, final int length, final int offset) { // Returned suggestions are contained in SuggestionsInfo final int len = si.getSuggestionsCount(); for (int j = 0; j < len; ++j) { sb.add(si.getSuggestionAt(j)); } }
private void dumpSuggestionsInfoInternal( final StringBuilder sb, final SuggestionsInfo si, final int length, final int offset) { // Returned suggestions are contained in SuggestionsInfo final int len = si.getSuggestionsCount(); sb.append('\n'); for (int j = 0; j < len; ++j) { if (j != 0) { sb.append(", "); } sb.append(si.getSuggestionAt(j)); } sb.append(" (" + len + ")"); if (length != -1) { sb.append(" length = " + length + ", offset = " + offset); } }
/** * http://www.tutorialspoint.com/android/android_spelling_checker.htm * @param results results */ @Override public void onGetSuggestions(SuggestionsInfo[] results) { final StringBuilder sb = new StringBuilder(); for (int i = 0; i < results.length; ++i) { // Returned suggestions are contained in SuggestionsInfo final int len = results[i].getSuggestionsCount(); sb.append('\n'); for (int j = 0; j < len; ++j) { sb.append("," + results[i].getSuggestionAt(j)); } sb.append(" (" + len + ")"); } Log.d("SoftKeyboard", "SUGGESTIONS: " + sb.toString()); } private static final int NOT_A_LENGTH = -1;
/** * http://www.tutorialspoint.com/android/android_spelling_checker.htm * Sort of copy-paste, huh. * * I need to find time to refine this code * * * @param results results */ @Override public void onGetSuggestions(SuggestionsInfo[] results) { final StringBuilder sb = new StringBuilder(); for (SuggestionsInfo result : results) { // Returned suggestions are contained in SuggestionsInfo final int len = result.getSuggestionsCount(); sb.append('\n'); for (int j = 0; j < len; ++j) { sb.append(",").append(result.getSuggestionAt(j)); } sb.append(" (").append(len).append(")"); } }