博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 实现动态匹配输入的内容 AutoCompleteTextView和MultiAutoCompleteTextView
阅读量:6079 次
发布时间:2019-06-20

本文共 2893 字,大约阅读时间需要 9 分钟。

AutoCompleteTextView

1.功能:
动态匹配输入的内容,如百度搜索引擎当输入文本时可以根据内容显示匹配的热门信息。
2.独特属性:
android:completionThreshold 设置输入多少字符时自动匹配

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

private AutoCompleteTextView acTextView;
初始化控件
acTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
初始化数据源(代码里res数组又增加了一些)
private String[] res = new String[] { "moon", "month", "moonlight", "moonlight poet" };
创建一个适配器(这里使用ArrayAdapter)
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, res);
讲adapter与当前AutoCompleteTextView绑定(通过.setAdapter()方法绑定)
acTextView.setAdapter(adapter);
在activity_main.xml设置当输入多少字符时出现adapter中的内容
android:completionThreshold="1"

MultiAutoCompleteTextView

1.功能
可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值会自动去匹配,可用在可短信,发邮件时选择联系人这种类型当中。
2.独特属性:
android:completionThreshold 设置输入多少字符时自动匹配
3.设置分隔符
mtxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

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

具体步骤和AutoCompleteTextView类似。
设置分隔符(设置以逗号为分隔符)
macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

activity_main.xml
package com.example.autocompletetextviewandmulti;import android.support.v7.app.ActionBarActivity;import android.support.v7.app.ActionBar;import android.support.v4.app.Fragment;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.MultiAutoCompleteTextView;import android.os.Build;public class MainActivity extends ActionBarActivity {        private AutoCompleteTextView acTextView;    private MultiAutoCompleteTextView macTextView;    private String[] res = new String[] {             "apple", "banana", "China", "delicious", "eight", "fight", "good",            "hello", "intelligence", "just", "kilometer", "like",            "moon", "month", "moonlight", "moonlight poet",            "night", "ok", "pear", "queue", "ring", "stack", "tail",            "unique", "very", "week", "x-Men", "yellow", "zero"            };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                acTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);        ArrayAdapter
adapter = new ArrayAdapter
(this, android.R.layout.simple_expandable_list_item_1, res); acTextView.setAdapter(adapter); macTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView1); macTextView.setAdapter(adapter); macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); }}
MainActivity.java

效果:

转载地址:http://kvhgx.baihongyu.com/

你可能感兴趣的文章
Win32 API消息函数:GetMessagePos
查看>>
跟小静读CLR via C#(17)--接口
查看>>
C#WinForm应用程序实现自动填充网页上的用户名和密码并点击登录按钮
查看>>
[Z]一个轻松制作和处理矢量图的工具和方法
查看>>
PetaPoco的默认映射
查看>>
POJ 基本算法(3)
查看>>
最小生成树两个重要的算法:Prim 和 Kruskal
查看>>
SQL SERVER 中常见的高可用方案
查看>>
PHP 反射 初步测试
查看>>
安装MySQLdb-python时无法找到-lprobes_mysql处理一则
查看>>
对计算机模拟人脑的一个小想法
查看>>
CI分页器pagination的原理及实现
查看>>
The Rox Java NIO Tutorial
查看>>
如何选择婴幼儿奶粉?
查看>>
MySQL global Log
查看>>
BZOJ3564 : [SHOI2014]信号增幅仪
查看>>
发布流程考虑
查看>>
Openvswitch手册(1): 架构,SSL, Manager, Bridge
查看>>
EditText中文文档
查看>>
文本比较算法:Needleman/Wunsch算法
查看>>