AutoCompleteTextView是一个可编辑的文本视图显示自动完成建议当用户键入。建议列表显示在一个下拉菜单,用户可以从中选择一项,以完成输入。建议列表是从一个数据适配器获取的数据。它有三个重要的方法clearListSelection():清除选中的列表项、dismissDropDown():如果存在关闭下拉菜单、getAdapter():获取适配器
completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。
dropDownAnchor:它的值是一个View的ID,指定后,AutoCompleteTextView会在这个View下弹出自动提示。
dropDownSelector:应该是设置自动提示的背景色之类的,没有尝试过,有待进一步考证。
dropDownWidth:设置自动提示列表的宽度。
clearListSelection();//清除选中的列表项
dismissDropDown();//如果存在关闭下拉菜单
getAdapter();//获取适配器
案例代码
1.布局文件autocompletetextview.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="fill_parent"
>
<AutoCompleteTextView
android:id="@+id/antoCom_btn_id"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionHint="输入补全提示标题"
android:completionThreshold="1"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/autoText_text"
/>
</LinearLayout>
2、java文件AutoCompleteTextViewDemo.java
package com.dream.app.start.autocompletetextview;
import com.dream.app.start.R;
public class AutoCompleteTextViewDemo extends PublicClass {
String [] str = {"abc","abcd","abd","asd","asw","wse","wsq"};
//定义数组
// String[] province = getResources().getStringArray(R.array.province);
private AutoCompleteTextView myauto = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.autocomplete);
//定义数组
// String[] province = getResources().getStringArray(R.array.province);
//定义数组适配器
ArrayAdapter<String> autoStr = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,str);
//找到自动完成组件
myauto = (AutoCompleteTextView)findViewById(R.id.antoCom_btn_id);
//为其设置适配器
myauto.setAdapter(autoStr);
}
}
3.执行效果: