您的位置:首页 > 其它

使用MultiAutoCompleteTextView实现自动匹配输入的内容

2016-03-17 16:34 656 查看
疑惑?
当不仅需要在输入内容时有自动匹配的功能,还需可以添加多个条目的功能,该怎么实现呢?

实现目标:使用MultiAutoCompleteTextView实现自动匹配输入的内容
实现步骤:①编写布局文件②完成逻辑代码部分(其中比较重的是最后需要设置分隔符)

一、先看工程结构,很简单:



二、编写布局文件,请看如下代码:
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity">

<multiautocompletetextview android:id="@+id/multiAutoCompleteTextView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:completionthreshold="3" android:hint="请输入您的收件人">
</multiautocompletetextview>

</linearlayout>


三、主要代码逻辑代码如下:
package com.nanhai.multiautocompletetextviewdemo;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.MultiAutoCompleteTextView;

public class MainActivity extends Activity {
private MultiAutoCompleteTextView macTextView;
private String[] res = { "dongfangbubai", "dongfangshu", "simaxiangru",
"zhuowenjun" };

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/*
* 第一步:初始化控件
* 第二步:需要一个适配器
* 第三步:初始化数据源,此数据源去匹配输入框内的内容
* 第四部:将adapter与MultiAutoCompleteTextView控件绑定
* 第五步:设置逗号分隔符
*/
macTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView1);
ArrayAdapter<string> adapter = new ArrayAdapter<string>(this,
android.R.layout.simple_list_item_1, res);
macTextView.setAdapter(adapter);
// 设置以逗号为分隔符结束的符号(comma:英 [ˈkɒmə] 美 [ˈkɑ:mə] n. 逗号;)
macTextView
.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}

}
</string></string>


具体效果请看下图:



不仅可以达成自动匹配的目的,还可以在逗号作为分隔符时添加多个选项。
ps:还有疑惑的朋友可以戳链接http://download.csdn.net/detail/programmerteny/9464616下载对应的源码研究。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  MultiAutoCompleteTex