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());//以逗號爲分隔符
}
}