?
? ????? PHP ??? ???? ??? ?? ??
MultiAutoCompleteTextView
穎哥兒
版本:Android 2.2 r1
?
public class MultiAutoCompleteTextView extends AutoCompleteTextView
?
java.lang.Object
android.view.View
? ???? android.widget.TextView
? ???? ?????? android.widget.EditText
? ???? ?????? ?????? android.widget.AutoCompleteTextView
? ???? ?????? ?????? ?????? android.widget.MultiAutoCompleteTextView
?
概述
????????
一個繼承自AutoCompleteTextView
的
可編輯的文本視圖,能夠?qū)τ脩翩I入的文本進行有效地擴充提示,而不需要用戶輸入整個內(nèi)容。(用戶輸入一部分內(nèi)容,剩下的部分系統(tǒng)就會給予提示)。
用戶必須提供一個MultiAutoCompleteTextView.Tokenizer
以用來區(qū)分不同的子串。
下面的代碼片段展示了如何創(chuàng)建一個文本視圖,這個視圖用來對用戶輸入的國家名稱進行有效地補充提示。
?
公共方法???????
???????? public boolean enoughToFilter ()
??? 此方法并不是檢驗什么時候文本的總長度超過了預(yù)定的值,而是在僅當(dāng)從函數(shù)findTokenStart()到getSelectionEnd()函數(shù)得到的文本長度為0或者超過了預(yù)定值的時候才起作用。(譯者注:當(dāng)文本長度超過閾值時過濾)
?
???????? public void performValidation ()
???????? 此子類方法并不是用來確定整個文本的有效性,而是用來確定文本中的單個符號的有效性??諛?biāo)記將被移除。
?
???????? public void setTokenizer (MultiAutoCompleteTextView.Tokenizer t)
???????? 設(shè)置用來決定用戶正在輸入文本的范圍的分詞組件。
?
受保護方法
???????? protected void performFiltering (CharSequence text, int keyCode)
此方法并不過濾整個編輯框的內(nèi)容,只是過濾從函數(shù)findTokenStart() 到函數(shù)getSelectionEnd()獲得的長度為0或者超過了預(yù)定的值的文本內(nèi)容。
參數(shù)
text ???????? 指定過濾模式
keyCode ????????? 插入到編輯框中的最后一個字符;當(dāng)字符(文本)是通過軟鍵盤輸入的時候,小心此字符的值可能為NULL。
?
???????? protected void performFiltering (CharSequence text, int start, int end, int keyCode)
???????? 啟動對下拉式列表內(nèi)容的過濾。過濾模式為編輯框中指定的范圍。子類可覆蓋此方法,以便于采用一個不同的模式。
?
???????? protected void replaceText (CharSequence text)
??? 通過替換從函數(shù)findTokenStart() 到函數(shù) getSelectionEnd()得到的文本文本范圍以及傳遞給函數(shù)terminateToken()的文版返回的結(jié)果來實現(xiàn)文本的輸入。另外,文本的替換區(qū)域?qū)粯?biāo)記為自動文本區(qū),這樣如果用戶直接按DEL鍵,執(zhí)行過程就會停止。子類可覆蓋此方法來實現(xiàn)許多不同的文本插入工作。
參數(shù)
text ???????? 下拉列表里的選中項
?
補充
相關(guān)文章鏈接
Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究
AutoCompleteTextView和MultiAutoCompleteTextView
Auto Complete Text