简体   繁体   中英

android spell checking

I am trying to check the spelling of a word in code using the api's for ics. I have used the spell checker sample as a starting point and using this I can get a list of suggested words based on the query word, however I can't see how just to check that the word is spelled correctly.

I have the code below from the example and using this I can see and check the suggestions but not the original word.

@Override
public void onGetSuggestions(final SuggestionsInfo[] arg0) {
    final StringBuilder sb = new StringBuilder();
    for (int i = 0; i < arg0.length; ++i) {
        // Returned suggestions are contained in SuggestionsInfo
        final int len = arg0[i].getSuggestionsCount();
        sb.append('\n');
        for (int j = 0; j < len; ++j) {
            sb.append("," + arg0[i].getSuggestionAt(j));
        }
        sb.append(" (" + len + ")");
    }
    runOnUiThread(new Runnable(){
        @Override
        public void run(){
            if(arg0[0].getSuggestionsAttributes()==SuggestionsInfo.RESULT_ATTR_IN_THE_DICTIONARY){
                mMainView.append(sb.toString());
                }

            }
        });
    }

I have added the if statement that checks for RESULT_ATTR_IN_THE_DICTIONARY but I don't know if this is checking the original word or the first suggestion. (If I enter 'ton' as a query I get 'ten' returned however if I enter 'twn' as a query I get no words returned)

What I really need is for either a correct word or empty string to be returned to a query.

Any help would be appreciated,

Thanks

for (int j = 0; j < len; ++j) {

                if(arg0[i].getSuggestionAt(j).toString().contains(string)){
                    sb.append("," + arg0[i].getSuggestionAt(j));
                    Log.e("check if", ""+arg0[i].getSuggestionAt(j));

                }else{
                    sb.append("" );
                    Log.e("check", ""+arg0[i].getSuggestionAt(j));

                }
            }

Try with this code and also remove

if(arg0[0].getSuggestionsAttributes()==SuggestionsInfo.RESULT_ATTR_IN_THE_DICTIONARY){
                mMainView.append(sb.toString());
                }

if condition just put mMainView.append(sb.toString());

hope it's useful to you.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM