Android 实现动态匹配输入的内容 AutoCompleteTextView和MultiAutoCompleteTextView
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());
<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"
> <AutoCompleteTextView
android:id="@+id/autoCompleteTextView1"
android:completionThreshold="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入你要搜索的关键词"
> <requestFocus />
</AutoCompleteTextView> <MultiAutoCompleteTextView
android:id="@+id/multiAutoCompleteTextView1"
android:completionThreshold="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="请输入关键词(可多个,逗号分隔)"
/> </LinearLayout>
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<String> adapter = new ArrayAdapter<String>(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
效果:
Android 实现动态匹配输入的内容 AutoCompleteTextView和MultiAutoCompleteTextView的更多相关文章
- Android AutoCompleteTextView和MultiAutocompleteTextView实现动态自动匹配输入的内容
AutoCompleteTextView MultiAutocompleteTextView 这两个控件长的很相似,功能也很相似. AutoCompleteTextView 功能: 动态匹配输入的内容 ...
- Android控件之AutoCompleteTextView(自动匹配输入的内容)
一.功能 动态匹配输入的内容,如百度搜索引擎当输入文本时,可以根据内容显示匹配的热门信息 二.独特属性 android:completionThreshold = "2" — ...
- 自动匹配输入的内容(AutoCompleteTextView及MultiAutoCompleteTextView)
自动匹配输入的内容 AutoCompleteTextView 1.功能动态匹配输入的内容,如百度搜索引擎当输入文本时,可以根据内容显示匹配的热门信息 2.属性:android:completionTh ...
- Android控件——AutoCompleteTextView与MultiAutoCompleteTextView(实现自动匹配输入的内容)
------------------------------------AutoCompleteTextView----------------------
- Android控件之MultiAutoCompleteTextView(自动匹配输入的内容)
一.功能 可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配,可用在发送短信,发邮件时选择联系人这种类型中 二.独特属性 android:comp ...
- Android用户界面 UI组件--自动提示输入框 AutoCompleteTextView和MultiAutoCompleteTextView
AutoCompleteTextView: 就是一个带自动提示的EditText,当输入字符时,会出现提示. android:completionThreshold 输入几个字符时提示 androi ...
- 控件AutoCompleteTextView实现动态匹配输入内容的一种输入框
<AutoCompleteTextView android:layout_width="match_parent" android:layout_height="w ...
- Android开发(30)--AutoCompleteTextView和MultiAutoCompleteTextView自动提示输入内容
首先大家都见过类似这种效果, AutoCompleteTextView是实现动态匹配输入的内容 下面就通过一个实例来说明AutoCompleteTextView,同样,AutoCompleteText ...
- Android之自动文本输入识别提示
相信大家都熟悉自动识别提示吧,在我们的生活中随处可见,今天就让我为大家简单介绍一下它是如何设计的. 所谓自动识别输入即是根据用户输入的已有信息,为用户提示可能的值,方便用户完成输入.在Android设 ...
随机推荐
- Android——SQLite数据库(一)创建数据库、创建表、初始化数据
xml <Button android:layout_width="match_parent" android:layout_height="wrap_conten ...
- dubbo 常见错误 通配符的匹配很全面, 但无法找到元素 'dubbo:application' java.lang.reflect.MalformedParameterizedTypeException 通配符的匹配很全面, 但无法找到元素 'dubbo:application' 的声明。 Unsupported major.minor version 52.0 (unable to l
dubbo 常见错误 1. Caused by: java.lang.reflect.MalformedParameterizedTypeException 启动时报错,原因是dubbo 依赖 spr ...
- archdexls主题游戏页面game-play.php有评论时,报错( ! ) Warning: printf(): Too few arguments in D:\wamp\www\wp-content\themes\arcadexls\games-play.php on line 97
( ! ) Warning: printf(): Too few arguments in D:\wamp\www\wp-content\themes\arcadexls\games-play.php ...
- Windoows窗口程序五
程序执行机制 过程驱动-程序的执行过程是按照预订好的顺序执行. 事件驱动-程序的执行是无序,用户可以根据需要随机触发相应的事件. Win32窗口程序就是采用事件驱动方式执行,也就是消息机制. 当系统通 ...
- Linux make语法补充
"-"表示此条命令出错,make也会继续执行后续的命令.如:"-rm main.o" 内置变量$@表示生成目标 内置变量$^表示所有依赖 内置变量$<表示 ...
- C++ c++与C语言的区别(struct类型的加强,函数-变量类型加强,bool类型)
//区别④:struct类型的加强(C++版本) #include<iostream> using namespace std; //C++中的struct是一个新类型的定义声明 //c+ ...
- Office 2013 标点符号自动变成calibri字体
在字体设置中,已经设置西文字体为“(使用中文字体)”,结果office 2013还是自动将输入的英文符号自动变成calibri字体. 举例:输入以下一段话 好好学习,天天向上. 中文字体中后面跟着标点 ...
- 開始学习swift,资料汇总帖
最近開始学习swift,以后mac和ios开发就指望它,曾经学oc半途而废了.主要原因是oc等语法实在能适应,如今有swift了.语法有js,scala,python,c++,oc等语言的影子,又一次 ...
- 微信绑定用户服务端代码-根据code获取openId然后绑定用户
目录结构: isa.qa.core.weixin.message.resp包和isa.qa.core.weixin.util包中为微信绑定的工具类,就不一一贴出代码,详见附件,下载地址: http:/ ...
- html文档流和事件流
文档流: 标准文档流,float position: relative.absolute.fixed可以脱离标准文档流: 回归标准文档流: https://blog.csdn.net/Welkin_q ...