溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android自動(dòng)補(bǔ)全提示

發(fā)布時(shí)間:2020-06-07 17:51:43 來源:網(wǎng)絡(luò) 閱讀:377 作者:mac_xiao 欄目:移動(dòng)開發(fā)

    自動(dòng)補(bǔ)全提示最主要的是使用AutoCompleteTextView控件,繼而從與控件關(guān)聯(lián)的ArrayAdapter提供的字符串集合得到提示。

    先上圖

Android自動(dòng)補(bǔ)全提示


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語句之前


向AI問一下細(xì)節(jié)

免責(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)容。

AI