2014-02-20 107 views
0

比方說,當用戶開始輸入EditText時,自動完成不會出現,直到用戶輸入了20個字符爲止。如何爲我的EditText設置閾值?

我試着將下面的代碼到佈局XML文件,但它沒有工作:

android:completionThreshold="20" 

我也試過在Java類此下列之一,但它也不能工作:

myedittext.setThreshold(20); 
// it says 'The method setThreshold(int) is undefined for the type EditText' 

編輯:

看來,我的問題可能會被如此誤解,我想澄清:

用戶在editText中輸入一個單詞。你知道1個字符左右後會出現自動完成嗎?我不希望它很快出現......我的目標是讓它只在用戶鍵入一定數量的字符之後纔出現......就是這樣。

道歉誤解。謝謝。

回答

2

您是否在使用AutoCompleteTextView而不是常規的EditText?這可能是問題所在,因爲它是前者的completion threshold

但是,根據您最近更新的問題,輸入類型爲EditText,在用戶鍵入X數字後(我從來沒有嘗試過)。這樣的事情:

myEditText.addTextChangedListener(new TextWatcher() { 
    public void onTextChanged(CharSequence s, int start, 
      int before, int count) {} 

    public void beforeTextChanged(CharSequence s, int start, 
      int count, int after) {} 

    public void afterTextChanged(Editable s) { 
     String text = myEditText.getText().toString(); 
     int maxChar = 5; 

     // Suggest words if the word is long enough, 
     // or prevent suggestions if not log enough 
     int type = text.length() > maxChar ? 
       TYPE_TEXT_FLAG_AUTO_CORRECT : 
       TYPE_TEXT_FLAG_NO_SUGGESTIONS; 

     myEditText.setInputType(type); 
    } 
}); 

現在,這是一個問題,你試着看看是否適合你。

+0

我該如何使用它? – Fuchsia

+1

@Fuchsia:只需參考答案中的第一個鏈接。 – AndyFaizan

+0

我做了...我仍在尋找,但我不太明白> _ < – Fuchsia