AutoCompleteTextView是一種自動完成的文字框,繼承自EditText。
重要屬性:
android:completionHint
android:completionThreshold設定輸入幾個字元之後顯示下拉式功能表
測試應用僅包含一個簡單的文字框,輸入一個字元之後在下拉式功能表下顯示匹配的字串。
使用AutoCompleteTextView的時候還要為其匹配一個Adapter,用於提供下拉式功能表中顯示的內容。
最終效果:
程式碼:
布局檔案:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <AutoCompleteTextView android:id="@+id/txt" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Type some characters" android:completionThreshold="1" android:popupBackground="#cccccc" /></RelativeLayout>
java檔案:
package com.xujin.autocompletetextviewtest;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;public class MainActivity extends Activity {String [] chars = new String[]{"Andy", "Angel Girl","Andrea", "Air Traffic","Akon", "Alan Jackson", "Alison Krauss", "Alizee",};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ArrayAdapter<String> aa = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, chars);AutoCompleteTextView ac =(AutoCompleteTextView)findViewById(R.id.txt);ac.setAdapter(aa);}}