一、功能
可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配,可用在发送短信,发邮件时选择联系人这种类型中
二、独特属性
android:completionThreshold = "2" ——设置输入多少字符时自动匹配
三、设置分隔符
mtxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());——设置以逗号作为分隔符
四、代码演示
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <MultiAutoCompleteTextView android:id="@+id/multiAutoCompleteTextView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:completionThreshold="2" android:hint="请输入要搜索的关键词" > </MultiAutoCompleteTextView> </LinearLayout>
package com.muke.textview_edittext; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; import android.app.Activity; public class MainActivity extends Activity{ private MultiAutoCompleteTextView MautoTextVIew; //第三步:初始化数据源——匹配文本框中输入的内容 private String[] res = {"beijing1","beijing2","beijing3","shanghai1","shanghai2","shenzhen1","shenzhen2","guangzhou1","guangzhou2"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //第一步:找到需要操作的控件 MautoTextVIew = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView1); //第二步:需要一个适配器 //android.R.layout.simple_list_item_1:是系统自带的布局 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, res); //第四步:将adapter与当前AutoCompleteTextView绑定 MautoTextVIew.setAdapter(adapter); //第五步:设置分隔符(这里是以逗号为分隔符) MautoTextVIew.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); } }