2011-09-15 35 views
1

我在輸入密碼(或任何其他文本字段)時被字典提示卡住了。我這樣做了這種方式:如何在輸入文本時抑制字典提示?

editText.setInputType(InputType.TYPE_CLASS_TEXT | 
         InputType.TYPE_TEXT_VARIATION_PASSWORD | 
         InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); 

但無論如何,當用戶選擇鍵盤的預測爲「上」 - 密碼時輸入它顯示了字典的提示,這是愚蠢的密碼!

我在做什麼錯了?

+0

一看那我相信,你正在使用的行爲不端鍵盤/ inputmethodservice。它可以並且應該檢測標記爲密碼的edittext並防止對它們提出建議。你使用的是默認的系統鍵盤嗎? –

+0

檢查此鏈接http://stackoverflow.com/questions/1959576/turn-off-autosuggest-for-edittext。類似的問題。令人驚訝的答案。 – Ronnie

回答

2

textNoSuggestions 0x00080001
可以與文本及其 變體組合,以指示IME不應顯示任何基於字典的單詞建議 。對應於 TYPE_TEXT_FLAG_NO_SUGGESTIONS。

此處瞭解詳情:http://developer.android.com/reference/android/R.styleable.html#AutoCompleteTextView_inputType

使用的編輯文本的輸入法選項。

<EditText android:id="@+id/edtPass" 
    android:inputType="textPassword" 
    android:imeOptions="textNoSuggestions"/> 

更多關於輸入類型: http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputMethod

也可做採取在這裏http://groups.google.com/group/android-developers/browse_thread/thread/d3c055137498bbc9?pli=1

+0

在一些HTC Sense設備(不是所有的,但在某些特定的),這似乎並沒有工作。這是最稀有的。我有HTC Wildfire和HTC Magic。我在這些即得到了正常的android行爲。)沒有建議。 –

1

您必須使用setTransformationMethod()方法是這樣的:

editText.setTransformationMode(new PasswordTransformationMethod()); 

android.text.method.TransformationMethod

還是什麼也有可能是設置android:passwordtrue在佈局XML是這樣的:

<EditText 
    ... 
    android:password="true"/> 
+0

但這種方法只是將輸入重新格式化爲星號相似的符號,您是否確定它也會抑制字典提示? – barmaley

+0

不知道,但我認爲它會工作,如果不是,可能與'android:inputType =「textPassword」'或您現在使用的代碼 –

+0

結合使用不工作既不設置「android:password」也不設置setTransformationMethod – barmaley