Android AutoCompleteTextView控件使用
AutoCompleteTextView是一个可编辑的文本视图显示自动完成建议当用户键入。建议列表显示在一个下拉菜单,用户可以从中选择一项,以完成输入。建议列表是从一个数据适配器获取的数据。它有三个重要的方法clearListSelection():清除选中的列表项、dismissDropDown():如果存在关闭下拉菜单、getAdapter():获取适配器
completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。
dropDownAnchor:它的值是一个View的ID,指定后,AutoCompleteTextView会在这个View下弹出自动提示。
dropDownSelector:应该是设置自动提示的背景色之类的,没有尝试过,有待进一步考证。
dropDownWidth:设置自动提示列表的宽度。
案例代码
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.执行效果: