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>
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",
};
@Override
protected 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);
}
}