对于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());
}
}
最终实现的结果如下图: