MultiAutoCompleteTextView跟AutoCompleteTextView两个自动完成功能控件的使用
MultiAutoCompleteTextView和AutoCompleteTextView两个自动完成功能控件的使用
MultiAutoCompleteTextView
可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配
可用在发短信,发邮件时选择联系人这种类型当中。
使用时需要执行设置分隔符方法
AutoCompleteTextView
支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据
两个控件都可以很灵活的预置匹配的那些数据,并且可以设置输入多少值时开始匹配等等功能
效果图
示例:
主布局文件
multi_textview.xml
<MultiAutoCompleteTextView android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/multi_txt"></MultiAutoCompleteTextView> <AutoCompleteTextView android: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);