MultiAutoCompleteTextView和AutoCompleteTextView两个自动完成功能控件的使用

本文介绍Android中MultiAutoCompleteTextView与AutoCompleteTextView的使用方法,包括如何设置分隔符、匹配阈值及数据适配等,适用于发短信、发邮件时选择联系人的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MultiAutoCompleteTextView

可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配

可用在发短信,发邮件时选择联系人这种类型当中。

使用时需要执行设置分隔符方法

AutoCompleteTextView

支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据

两个控件都可以很灵活的预置匹配的那些数据,并且可以设置输入多少值时开始匹配等等功能

效果图

示例:

主布局文件

multi_textview.xml

Xml代码 收藏代码
  1. <MultiAutoCompleteTextView
  2. android:layout_height="wrap_content"android:layout_width="fill_parent"
  3. android:id="@+id/multi_txt"></MultiAutoCompleteTextView>
  4. <AutoCompleteTextView
  5. android:layout_height="wrap_content"android:layout_width="fill_parent"
  6. android:id="@+id/auto_txt"></AutoCompleteTextView>
<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代码 收藏代码
  1. <TextViewandroid:id="@+id/subject"
  2. xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"android:layout_height="30px"
  4. android:singleLine="true"
  5. android:ellipsize="end"/>
<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代码 收藏代码
  1. <resources>
  2. <string-arrayname="mutilstring">
  3. <item>test1</item>
  4. <item>test2</item>
  5. <item>test3</item>
  6. </string-array>
  7. </resources>
<resources> <string-array name="mutilstring"> <item>test1</item> <item>test2</item> <item>test3</item> </string-array> </resources>

执行数据绑定

Java代码 收藏代码
  1. //数据适配准备
  2. ArrayAdapter<String>adapter=newArrayAdapter<String>(this,
  3. R.layout.multi_item,getResources().getStringArray(
  4. R.array.mutilstring));
  5. //多匹配的自动完成
  6. MultiAutoCompleteTextViewmtxt=(MultiAutoCompleteTextView)findViewById(R.id.multi_txt);
  7. //设置适配
  8. mtxt.setAdapter(adapter);
  9. //设置输入多少字符时自动匹配
  10. mtxt.setThreshold(2);
  11. //设置分隔符
  12. mtxt.setTokenizer(newMultiAutoCompleteTextView.CommaTokenizer());
  13. //单一的自动完成
  14. AutoCompleteTextViewauto_txt=(AutoCompleteTextView)findViewById(R.id.auto_txt);
  15. auto_txt.setAdapter(adapter);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值