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

效果:

最新文章

  1. 【swift学习笔记】五.使用枚举优雅的管理Segue
  2. 探测FTP状态,socket方式
  3. SQLiteHelper
  4. Json2JsonArray JsonArray2StringArray
  5. [转][C/C++] 怎样不用中间变量temp 实现两个数交换
  6. C++ 面向对象的三个特点--继承与封装(二)
  7. iOS 验证邮箱手机号格式
  8. 这是一个在Windows live 上实验的文章
  9. PHP 正则表达式处理字符串的应用(一)
  10. java_内存划分
  11. c oth
  12. 记一次 synchronized 锁字符串引发的坑兼再谈 Java 字符串
  13. 面试题中遇到的算法与js技巧
  14. 转wave 文件解析
  15. 过三关 Java冒泡排序选择排序插入排序小练习
  16. ASP.NET MVC与ASP.NET Web Form简单区别
  17. Spring Boot入门第三天:配置日志系统和Druid数据库连接池。
  18. Hibernate延迟加载策略
  19. ESET Smart Security 6 – 免费60天(SG)
  20. Linux命令详解-用户管理

热门文章

  1. iOS-打包成ipa的4种方法
  2. 一款纯css3实现的超炫动画背画特效
  3. MyEclipse SVN 下面切换用户的解决方案
  4. Java NIO使用及原理分析(三)(转)
  5. 解决国内经常无法访问Google的方法
  6. iOS开发小技巧--textField成为密码框,view加载完后textField获取焦点
  7. MongoDB(五):MongoDB操作文档
  8. powerdesigner与mysql数据库的连接
  9. javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题
  10. UML总结--总体架构