Android AutoCompleteTextView控件使用

12年前

AutoCompleteTextView是一个可编辑的文本视图显示自动完成建议当用户键入。建议列表显示在一个下拉菜单,用户可以从中选择一项,以完成输入。建议列表是从一个数据适配器获取的数据。它有三个重要的方法clearListSelection():清除选中的列表项、dismissDropDown():如果存在关闭下拉菜单、getAdapter():获取适配器

completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。

        dropDownAnchor:它的值是一个ViewID,指定后,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.执行效果:

Android AutoCompleteTextView控件使用

Android AutoCompleteTextView控件使用