您好,登錄后才能下訂單哦!
自動(dòng)補(bǔ)全提示最主要的是使用AutoCompleteTextView控件,繼而從與控件關(guān)聯(lián)的ArrayAdapter提供的字符串集合得到提示。
先上圖
AutoCompleteTextViewActivity.java代碼如下:
public class AutoCompleteTextViewActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.autocomplete); setTitle("AutoCompleteTextView_Activity"); ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, android.R.layout.simple_dropdown_item_1line, COUNTRIES);//第2個(gè)參數(shù)是每個(gè)item的顯示樣式,第3個(gè)參數(shù)為提供數(shù)據(jù)的數(shù)組名 AutoCompleteTextView autotextView = (AutoCompleteTextView) findViewById(R.id.auto_complete); autotextView.setAdapter(adapter);//將adapter適配器添加到auto..對象中 autotextView.setThreshold(1);//設(shè)置輸入幾個(gè)字母開始關(guān)聯(lián),默認(rèn)是2(threshole:入口,門檻,臨界值) } static final String[] COUNTRIES = new String[] { //設(shè)置數(shù)據(jù)源 "China" ,"Russia", "Germany","Ukraine", "Belarus", "USA" ,"China1" ,"China12", "Germany1", "Russia2", "Belarus1", "USA1" }; }
layout中XML文件如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"> <AutoCompleteTextView android:id="@+id/auto_complete" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>
當(dāng)然,為了以后修改數(shù)據(jù)源及代碼的方便,建議將數(shù)據(jù)添加到在layout下的strings.xml文件中去
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="countries_array"> <item>China</item> <item>China1</item> <item>China12</item> </string-array> </resources>
再將原先的數(shù)據(jù)源修改為如下即可
String[] COUNTRIES = getResources().getStringArray(R.array.countries_array);
注意:這條語句應(yīng)寫在new ArrayAdapter語句之前
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。