搜索内容自动匹配

搜索自动匹配功能,如下图。

主要用到两个控件的运用。

1.AutoCompleteTextView      只匹配一次。

2.MultiAutoCompleteTextView      多次匹配,每次匹配完会以一个符号断开然后根据接下来输入的内容继续匹配。以及他们的一个属性:

android:completionThreshold="3"   //  当输入的字符数量为3的时候开始匹配。

第一种:

首先我们需要实例化对象,定义一个数组用来存放被搜索的内容,然后添加适配器。运用适配器来将输入的内容与数组中的内容匹配。

实例化控件,定义数组。

autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);

private String[] ass = {"beijing1", "beijing2", "beijing3", "beijing4", "beijing5", "beijing6","shanghai1","shanghai2","shanghai3"};
适配器

multiAutoCompleteTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);

 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, ass);
然后给控件绑定适配器

autoCompleteTextView.setAdapter(adapter);

以上就完成了第一种。

第二种:

实例化对象,添加数组

multiAutoCompleteTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);

private String[] ass = {"beijing1", "beijing2", "beijing3", "beijing4", "beijing5", "beijing6","shanghai1","shanghai2","shanghai3"};

添加适配器,然后绑定

 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, ass);

multiAutoCompleteTextView.setAdapter(adapter);

然后设置断开的符号,这里用逗号(教程里是用的这个)

multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

两种匹配方法都可以同时用一个存储数据的数组,也可以用同一个适配器适配。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值