前言
本章內容是android.widget.MultiAutoCompleteTextView,翻譯來自穎哥兒,再次感謝 穎哥兒 !期待你一起參與Android API 的中文翻譯,聯絡我over140@gmail.com。
聲明
歡迎轉載,但請保留文章原始出處:)
部落格園:http://www.cnblogs.com/
Android中文翻譯組:http://www.cnblogs.com/over140/
本文
一、結構
public class MultiAutoCompleteTextView extends AutoCompleteTextView
java.lang.Object
android.view.View
android.widget.TextView
android.widget.EditText
android.widget.AutoCompleteTextView
android.widget.MultiAutoCompleteTextView
二、 類概述
一個繼承自AutoCompleteTextView
的
可編輯的文本視圖,能夠對使用者鍵入的文字進行有效地擴充提示,而不需要使用者輸入整個內容。(使用者輸入一部分內容,剩下的部分系統就會給予提示)。
使用者必須提供一個MultiAutoCompleteTextView.Tokenizer
以用來區分不同的子串。
下面的程式碼片段展示了如何建立一個文本視圖,這個視圖用來對使用者輸入的國家名稱進行有效地補充提示。
三、公用方法
public boolean enoughToFilter ()
此方法並不是檢驗什麼時候文本的總長度超過了預定的值,而是在僅當從函數findTokenStart()到getSelectionEnd()函數得到的文本長度為0或者超過了預定值的時候才起作用。(譯者註:當文本長度超過閾值時過濾)
public void performValidation ()
此子類方法並不是用來確定整個文本的有效性,而是用來確定文本中的單個符號的有效性。空標記將被移除。
public void setTokenizer (MultiAutoCompleteTextView.Tokenizer t)
設定用來決定使用者正在輸入文本的範圍的分片語件。
四、 受保護方法
protected void performFiltering (CharSequence text, int keyCode)
此方法並不過濾整個編輯框的內容,只是過濾從函數findTokenStart() 到函數getSelectionEnd()獲得的長度為0或者超過了預定的值的常值內容。
參數
text 指定過濾模式
keyCode 插入到編輯框中的最後一個字元;當字元(文本)是通過軟鍵盤輸入的時候,小心此字元的值可能為NULL。
protected void performFiltering (CharSequence text, int start, int end, int keyCode)
啟動對下拉式列表內容的過濾。過濾模式為編輯框中指定的範圍。子類可覆蓋此方法,以便於採用一個不同的模式。
protected void replaceText (CharSequence text)
通過替換從函數findTokenStart() 到函數 getSelectionEnd()得到的文本文本範圍以及傳遞給函數terminateToken()的文版返回的結果來實現文本的輸入。另外,文本的替換地區將會被標記為自動文本區,這樣如果使用者直接按DEL鍵,執行過程就會停止。子類可覆蓋此方法來實現許多不同的文本插入工作。
參數
text 下拉式清單裡的選中項
五、補充
5.1 相關文章連結
Android控制項之AutoCompleteTextView、MultiAutoCompleteTextView探究
AutoCompleteTextView和MultiAutoCompleteTextView
Auto Complete Text
結束
文章圖片使用的是文章3中的,使用代碼也可以從三篇文章中找得到,歡迎大家提供建議。