對於AutoCompleteTextView 和 MultiAutoCompleteTextView 而言,要想實現自動匹配,就得先創建一個數組適配器。
然後將該適配器與控件綁定。
匹配時,屬性android:completionThreshold="2" 決定了輸入到第幾個字符時開始匹配。
對於MultiCompleteTextView而言,它可以實現用分隔符來進行多次匹配。
這裏,適配器的界面是調用的android定義的R.layout.simple_list_item_1。
分隔符是用的逗號macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
public class MainActivity extends Activity {
private AutoCompleteTextView acTextView;
private MultiAutoCompleteTextView macTextView;
private String[] res = {"beijing1","beijiguang","beijing2","shanghai"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
acTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, res);
acTextView.setAdapter(adapter);
macTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView1);
macTextView.setAdapter(adapter);
macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
最終實現的結果如下圖: