AutoCompleteTextView
和
EditText
元件類似,都可以輸入文本。但
AutoCompleteTextView
元件可以和一個字元串數組或
List
對象綁定,當使用者輸入兩個及以上字元時,系統将在
組
件下方列出字元串數組中所有以輸入字元開頭的字元串,這一點和
www.Google.com
的搜尋框非常相似,當輸入某一個要查找的字元串時,
搜尋框就會列出以這個字元串開頭
的最熱門的搜尋字元串清單。
元件在
XML
布局檔案中使用
<AutoCompleteTextView>
标簽來表示,該标簽的使用方法與
<EditText>
标簽相同。如果要讓
元件顯示輔助輸入清單,需要使用
類的
setAdapter
方法指定一個
Adapter
對象,代碼如下:
String[] autoString
=
new
String[]{
"
a
,
ab
abc
bb
bcd
bcdf
手
機
手機作業系統
機軟體
};
ArrayAdapter
<
String
>
adapter
ArrayAdapter
(
this
,
android.R.layout.simple_dropdown_item_1line, autoString);
AutoCompleteTextView autoCompleteTextView
(AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
autoCompleteTextView.setAdapter(adapter);
運作上面代碼後,在文本框中輸入“手機”,
就會顯示如圖
1
所
示的效果。
除了
件外,我們還可以使用
MultiAutoCompleteTextView
元件來完成連續輸入的功能。也就是說,當輸入完一個字元串後,在該字元串後面輸入一個逗号(
),在逗号前後可以有任意多個空格,然後
再輸入一個字元串(例如,“手機”),仍然會顯示輔助輸入的清單,但要使用
setTokenizer
方法指定
MultiAutoCompleteTextView.CommaTokenizer
類的對象執行個體(該對象表示輸入多個字元串時的分隔符為逗号),代碼如下:
MultiAutoCompleteTextView multiAutoCompleteTextView
(MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);
multiAutoCompleteTextView.setAdapter(adapter);
multiAutoCompleteTextView.setTokenizer(
MultiAutoCompleteTextView.CommaTokenizer());
運作上面的代碼後,在螢幕的第
2
個文本框中輸入“
ab ,
”
後,再輸入“手機”,會顯示如圖
所示的效果。
2 U' i1 B1 Y9 ?+ m p4 /1 x/ x
<a href="http://student.csdn.net/link.php?url=http://www.blogjava.net%2Fnokiaguy%2Farchive%2F2010%2F04%2F13%2F318124.html" target="_blank">新浪微網誌手機用戶端(Android/Ophone版)</a>
釋出
<a href="http://student.csdn.net/link.php?url=http://www.blogjava.net%2Fnokiaguy%2Farchive%2F2010%2Fnokiaguy%2Farchive%2F2009%2F02%2F09%2F253903.html" target="_blank">《銀 河系列原創教程》</a>
<a href="http://student.csdn.net/link.php?url=http://www.china-pub.com%2F48015%26amp%3Bref%3Dps" target="_blank">《Java Web開發速學寶典》</a>
出版, 歡迎定購