自動完成編輯框AutoCompleteTextView

自動完成編輯框的作用:一般用于搜索匹配文本框(例如淘寶搜東西),搜索時自動彈出提示詞列表

AutoCompleteTextView實現(xiàn)原理是:EditText結(jié)合監(jiān)聽器TextWatcher與下拉列表Spinner,一旦監(jiān)聽到EditText的文本發(fā)生變化,?就自動彈出適配好的文字下拉列表,選中具體的下拉項向EditText填入相應(yīng)文字

接下來就開始具體實現(xiàn)吧,下午煞筆了,搞了好久總是去創(chuàng)建布局,加入適配器中然后程序自動提示文本輸入總是沒效,很納悶,直到發(fā)覺查了幾篇百度的代碼發(fā)覺他們的布局名字為什么會這么巧合都是一樣的。。。于是我就想那個會不會是安卓系統(tǒng)已經(jīng)內(nèi)置好了的下拉框布局,于是依葫蘆花樣得照著它的名字打,android.R.layout.simple_dropdown_item_lline果然是內(nèi)置布局,程序正常了這讓入門安卓新手的我感動得是不要不要的。

上代碼截圖和運行結(jié)果:


Mativity.java截圖
運行截圖

現(xiàn)在總結(jié)一下AutoCompleteTextView和MulitAutoCompleteTextView的常用方法:

xml布局中 completetionThreshold="1" ?設(shè)置監(jiān)聽到輸入第一個字符就開始匹配提示,若不設(shè)置則默認為2字符

multiAutoCompleteTextView.setThreshold(2); ? ?//Java類中 設(shè)置輸入多少字符時自動匹配

multiAutoCompleteTextView.setAdapter(arrayAdapter); ? ?//設(shè)置適配

multiAutoCompleteTextView.setTokenizer(new?MultiAutoCompleteTextView.CommaTokenizer());????????// 設(shè)置分隔符

此處插播文本框設(shè)置跑馬燈特效的幾行xml代碼:

xml設(shè)置跑馬燈代碼

PS:此處在Activity.java文件里要加一句tv.setSelected(true); ?//不設(shè)置這一行是不會滾動的。

插播一些以后可能用得到的EditText屬性

EditText部分屬性

最后,因為剛?cè)腴T,寫得都是基礎(chǔ),如果錯誤請告訴改正。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容