作者:Gray_林剑峰 | 来源:互联网 | 2023-01-20 15:23
MultiAutoCompleteTextView可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配可用
MultiAutoCompleteTextView
可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配
可用在发短信,发邮件时选择联系人这种类型当中。
使用时需要执行设置分隔符方法
AutoCompleteTextView
支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据
两个控件都可以很灵活的预置匹配的那些数据,并且可以设置输入多少值时开始匹配等等功能
效果图
示例:
主布局文件
multi_textview.xml
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
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
Xml代码
- <resources>
- <string-array name="mutilstring">
- <item>test1item>
- <item>test2item>
- <item>test3item>
- string-array>
- resources>
执行数据绑定
Java代码
-
- ArrayAdapter adapter = new ArrayAdapter(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);