Android 控件 -------- AutoCompleteTextView 动态匹配内容,例如 百度搜索提示下拉列表功能
AutoCompleteTextView
支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据。
两个控件都可以很灵活的预置匹配的那些数据,并且可以设置输入多少值时开始匹配等等功能。
基本的布局文件
<AutoCompleteTextView
android:completionThreshold="2"
android:id="@+id/autoCompleteTextView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="请输入的搜索内容">
<requestFocus />
</AutoCompleteTextView>
布局文件对应得Activity类
/**
* 第一步:初始化控件
* 第二步: 需要一个适配器
* 第三步: 初始化数据源 --- 这数据源去匹配文本框输入的内容
* 第四步: 将adpter与当前autoCompleteTextView 控件绑定
*/
auto = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, res);
auto.setAdapter(adapter);
MultiAutoCompleteTextView
该控件可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配。
可用在发短信,发邮件时选择联系人这种类型当中。
使用时需要执行设置分隔符方法。
<MultiAutoCompleteTextView
android:id="@+id/multiAutoCompleteTextView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/autoCompleteTextView1"
android:layout_below="@+id/autoCompleteTextView1"
android:layout_marginTop="89dp"
android:ems="10"
android:hint="请输入的搜索内容" />
/**
* 第一步:初始化控件
* 第二步: 需要一个适配器
* 第三步: 初始化数据源 --- 这数据源去匹配文本框输入的内容
* 第四步: 将adpter与当前autoCompleteTextView 控件绑定
* 第五步:设置分隔符
*/
mauto = (MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1);
mauto.setAdapter(adapter); //添加适配器
mauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); //设置分割符