MultiAutoCompleteTextView和AutoCompleteTextView两个自动完成功能控件的使用
?
MultiAutoCompleteTextView
可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配
可用在发短信,发邮件时选择联系人这种类型当中。
使用时需要执行设置分隔符方法
?
AutoCompleteTextView
支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据
?
两个控件都可以很灵活的预置匹配的那些数据,并且可以设置输入多少值时开始匹配等等功能
?
效果图

?
示例:
主布局文件
multi_textview.xml
?
<MultiAutoCompleteTextViewandroid:layout_height="wrap_content" android:layout_width="fill_parent"android:id="@+id/multi_txt"></MultiAutoCompleteTextView><AutoCompleteTextViewandroid:layout_height="wrap_content" android:layout_width="fill_parent"android:id="@+id/auto_txt"></AutoCompleteTextView>?
?
?
数据适配布局文件
multi_item.xml
?
<TextView android:id="@+id/subject" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="30px" android:singleLine="true" android:ellipsize="end" />?
?
?
资源文件
string.xml
?
<resources> <string-array name="mutilstring"> <item>test1</item> <item>test2</item> <item>test3</item> </string-array></resources>?
?
?
执行数据绑定
?
//数据适配准备ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.multi_item, getResources().getStringArray(R.array.mutilstring));//多匹配的自动完成MultiAutoCompleteTextView mtxt = (MultiAutoCompleteTextView) findViewById(R.id.multi_txt);//设置适配mtxt.setAdapter(adapter);// 设置输入多少字符时自动匹配mtxt.setThreshold(2);// 设置分隔符mtxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//单一的自动完成AutoCompleteTextView auto_txt = (AutoCompleteTextView) findViewById(R.id.auto_txt);auto_txt.setAdapter(adapter);