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

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);