2012-04-03 145 views
0

我正在嘗試檢查代碼中使用api的ics代碼的拼寫。 我已經使用拼寫檢查器樣本作爲起點,並使用此我可以根據查詢詞獲得建議詞的列表,但是我看不到如何檢查單詞拼寫是否正確。安卓拼寫檢查

我從下面的代碼示例中使用,我可以看到並檢查建議,但不是原來的單詞。

@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()); 
       } 

      } 
     }); 
    } 

我加入if語句來檢查RESULT_ATTR_IN_THE_DICTIONARY但我不知道這是檢查原詞或第一個建議。 (如果我輸入'噸'作爲查詢我得到'十'返回但是,如果我輸入'twn'作爲查詢我得不到任何文字返回)

我真正需要的是一個正確的詞或空字符串返回到查詢。

任何幫助,將不勝感激,

感謝

+0

嗨託尼,在我的應用程序中,我想要做同樣的功能,如果我輸入的單詞我需要檢查它是否正確,請建議我如何解決這個問題 – user1083266 2012-08-10 05:32:38

回答

-1
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)); 

       } 
      } 

與此代碼 嘗試,也刪除

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

如果條件只是把mMainView.append(sb.toString());

希望是非常有用的您。