1.功能:可支持选择多个值(在多次输入的情况下),分别用分隔符分开,,并且在每个值的选中的时候再次输入时会自动去匹配,可用在发短信、发邮件时选择联系人这种类型当中。
2.属性:android:completionThreshold= “2”
3.设置分隔符:mtxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
二、AutoCompleteTextView 介绍:
1.功能:只是单一动态匹配
2。属性android:completionThreshold="n" -- 输入n个字符开始匹配(跟MultiAutoCompleteTextView一样)
三、实现步骤:
1.AutoCompleteTextView:
第一步:初始化控件
第二步:需要一个适配器,作用是适配当前文本框输入的内容。
利用简单的适配器ArrayAdapter
第三步:初始化数据源===去匹配文本框中输入的内容。
eg:private string[]={ , , };
利用泛型
ArrayAdapter<String> adapter = new ArrayAdapter<String>( , , );
第四步:将Adapter与当前AutoCompleteTextView匹配。
acTextView.steAdapter(adapter);
2.MultiAutoCompleteTextView
/**
* 1 初始化控件
* 2 需要一个适配器
* 3 初始化数据源
* 4 与当前的MultiAutoCompleteTextView绑定
* 5 设置分隔符
* macTestView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//以逗号分隔
*/
四、在代码中实现
1.在activity_main.xml中加入AutoCompleteTextView及MultiAutoCompleteTextView
<span style="font-family:KaiTi_GB2312;font-size:18px;"> <AutoCompleteTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:completionThreshold="3"
android:hint="请输入你要搜素的关键字"
android:id="@+id/autoCompleteTextView"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
/>
<MultiAutoCompleteTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="请输入你要搜索的关键字"
android:id="@+id/multiAutoCompleteTextView"
android:layout_below="@+id/autoCompleteTextView"
android:completionThreshold="2"
/></span>
2.在ManiActivity.class中具体实现:
package com.example.administrator.paoma;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
public class MainActivity extends ActionBarActivity {
String[] guan = new String[]{"beijing1","beijing2","bejing",
"shanghai1","shanghai2","shnghai3"};//创建一个适配器,供后面调用
private AutoCompleteTextView atCo;
private MultiAutoCompleteTextView macTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*
*
*/
atCo = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);//初始化AutoCompleteTextView
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,guan);//初始化适配器
atCo.setAdapter(adapter); //与当前的AutoCompleteTextView绑定
macTextView = (MultiAutoCompleteTextView)
findViewById(R.id.multiAutoCompleteTextView);//初始化MultiAutoCompleteTextView
macTextView.setAdapter(adapter);//与当前的MultiAutoCompleteTextView绑定
macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//以逗号为分隔符
}
}