Android AutoCompleteTextView和MultiAutoCompleteTextView使用
Android AutoCompleteTextView和MultiAutoCompleteTextView的功能类似于百度或者Google在搜索栏输入信息的时候,弹出的与输入信息接近的提示信息;
它们的功能大致一样,但有少许的区别;
AutoCompleteTextView
(1)一个可编辑的文本视图,当用户输入信息后弹出提示。提示列表显示在一个下拉菜单中,用户可以从中选择一项,以完成输入。提示列表是从一个数据适配器获取的数据;
(2)重要的方法:
clearListSelection():清除选中的列表项
dismissDropDown():如果存在关闭下拉菜单
getAdapter():获取适配器
(3)在布局文件中需要添加:
<AutoCompleteTextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" />
MultiAutoCompleteTextView
继承自AutoCompleteTextView,延长AutoCompleteTextView的长度,你必须要提供一个MultiAutoCompleteTextView.Tokenizer来区分不同的子串;
例如:



MainActivity.java
package com.xiaozhang.autocomplete1;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
public class MainActivity extends Activity {
private static final String[] autoString = new String[] { "welcome",
"well", "weatch", "weexeview", "sa", "said", "safe", "sat",
"saturdays", "satiety" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 把关键字给关联起来
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, autoString);
AutoCompleteTextView autocomplete = (AutoCompleteTextView) findViewById(R.id.auto);
// 将adapter添加到AutoCompleteTextView中
autocomplete.setAdapter(adapter);
MultiAutoCompleteTextView multi = (MultiAutoCompleteTextView) findViewById(R.id.multi);
multi.setAdapter(adapter);
// 设置分词方式,使用逗号,comma为逗号,tokenizer为分词器;
multi.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="AutoCompleteTextView演示" />
<AutoCompleteTextView
android:id="@+id/auto"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="MultiAutoCompleteTextView演示" />
<MultiAutoCompleteTextView
android:id="@+id/multi"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
注:由于默认的thresh为2,所以默认情况下你必须输入两个或者两个以上的字符,才会有自动提示功能,否则AutoCompleteTextView是不会有任何提示的;当然你可以通过setThresh来设置至少输入几个字符后才会有提示,也可以在xml里设置;
他们的区别在这:


Android AutoCompleteTextView和MultiAutoCompleteTextView使用的更多相关文章
- Android AutoCompleteTextView和MultiAutocompleteTextView实现动态自动匹配输入的内容
AutoCompleteTextView MultiAutocompleteTextView 这两个控件长的很相似,功能也很相似. AutoCompleteTextView 功能: 动态匹配输入的内容 ...
- Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView
以在搜索框搜索时,自动补全为例: 其中还涉及到一个词,Tokenizer:分词器,分解器. 上效果图: MainActivity.java: package com.joan.testautocoml ...
- Android学习之AutoCompleteTextView和MultiAutoCompleteTextView
转自:http://blog.csdn.net/qq_28468727/article/details/52258409 AutoCompleteTextView.MultiAutoCompleteT ...
- Android 实现动态匹配输入的内容 AutoCompleteTextView和MultiAutoCompleteTextView
AutoCompleteTextView1.功能:动态匹配输入的内容,如百度搜索引擎当输入文本时可以根据内容显示匹配的热门信息.2.独特属性:android:completionThreshold 设 ...
- Android自动提示控件:AutoCompleteTextView和MultiAutoCompleteTextView
在输入框中输入我们想要输入的信息就会出现其他与其相关的提示信息,这种效果在Android中是用AutoCompleteTextView实现的. 一.AutoCompleteTextView:单一匹配 ...
- [Android] AutoCompleteTextView:自己主动完毕输入内容的控件(自己主动补全)
AutoCompleteTextView是EditText的直接子类,与普通EditText的最大不同就是.在用户输入的过程中,能够列出可供选择的输入项.方便使用者. AutoCompleteText ...
- AutoCompleteTextView,MultiAutoCompleteTextView 用法举例
AutoCompleteTextView 按下去变红色 MultiAutoCompleteTextView(用逗号可以添加多个关键字) AutoCompleteTextView,MultiAutoC ...
- 自动完成文本框(AutoCompleteTextView与MultiAutoCompleteTextView)关联适配器
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...
- Android AutoCompleteTextView控件实现类似百度搜索提示,限制输入数字长度
Android AutoCompleteTextView 控件实现类似被搜索提示,效果如下 1.首先贴出布局代码 activity_main.xml: <?xml version="1 ...
随机推荐
- POJ-魔兽世界之一:备战
描述 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部之间是依次排列的若干城市. 红司令部,City 1,City 2,……,City n,蓝司令部 两军的司令部都会制造武士.武士一共 ...
- Java Hibernate 主键生成10大策略
本文将介绍Hibernate中主键生成的几种策略方案,有需要的朋友可以参考一下. 1.自动增长identity 适用于MySQL.DB2.MS SQL Server,采用数据库生成的主键,用于为lon ...
- Spring+Mybatis+mysql配置
mybatis的映射文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper SY ...
- Demon_Tank (坦克移动发射子弹)
using UnityEngine; using System.Collections; public class Tank : MonoBehaviour { //子弹预设体 public Game ...
- java关键字-transient
java语言的关键字,变量修饰符,如果用transient声明一个实例变量,当对象存储时,它的值不需要维持. Java的serialization提供了一种持久化对象实例的机制.当持久化对象时,可能有 ...
- 正则表达式JSP实例
<%@ page language="java" import="java.util.*,cn.com.Person,cn.com.Adddress" p ...
- ZOJ 3511 不相交切切多边形 线段树求最大边数
题意: n多凸边形 m刀 (把n切m刀,问切完后的图形中 最多的边数 是多少) 切a点-b点 数据保证切的刀不会相交 思路: 2点之间的剩余点数就是边数, 把a-b距离 近 排序 切完一刀就统计一下切 ...
- FusionChart实现金字塔分布图
1.XML提供数据源 Pyramid.xml: <?xml version="1.0" encoding="UTF-8"?> <chart m ...
- 内部类之.this&&.new
一..this 我们都知道this是指当前类中的对象本身,但是在内部类中需要指明外部类时,this不再起作用,那应该怎么做呢?下面,让我们看看: public class DotThis { void ...
- Linux如何创建一个新进程
2016-03-31 张超<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux如何创建一个新进程 ...