相信大家都熟悉自动识别提示吧,在我们的生活中随处可见,今天就让我为大家简单介绍一下它是如何设计的。

  所谓自动识别输入即是根据用户输入的已有信息,为用户提示可能的值,方便用户完成输入。在Android设备上这种功能分为:AutoCompleteTextView和MultiAutoCompleteTextView,前者为单个的自动识别,类似与搜索引擎的输入框提示;后者为多个值自动识别,类似与发邮件时的邮箱输入框。那它们俩到底如何使用呢?下面就让我们一起学习一下吧。

首先是布局文件:

<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Activityfive" >
<AutoCompleteTextView
android:id="@+id/acTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入姓名:"
android:textColor="#000"
android:maxLength="10"
/>
<MultiAutoCompleteTextView
android:id="@+id/macTextView"
android:layout_below="@id/acTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入城市:"
android:textColor="#000"
android:maxLength="20"
/>
</RelativeLayout>

  注:android:hint属性为提示文字内容,当如何输入框获得焦点后自动消失

下面是我们的Action:

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView; public class Activityfive extends Activity{ private AutoCompleteTextView acTextView;
private MultiAutoCompleteTextView macTextView;
private String [] arr = {"abc","abx","abo","bdc","bdf"};
private String [] brr = {"ab北京","ab南京","ab东京","bb莫斯科","bb英国","bb美国"}; @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_five);
acTextView = (AutoCompleteTextView) findViewById(R.id.acTextView);
macTextView = (MultiAutoCompleteTextView) findViewById(R.id.macTextView);
ArrayAdapter<String> arrAdapt = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, arr);
acTextView.setAdapter(arrAdapt);
ArrayAdapter<String> brrAdapt = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, brr);
macTextView.setAdapter(brrAdapt);
macTextView.setThreshold(1);//设置输入多少个字符开始自动匹配
macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//设置分隔符
}
}

  代码很简单,没有什么深奥的地方,相信大家一看就可以理解,对于一些不好理解的地方,我也已经添加了注释,希望对你有用。

Android之自动文本输入识别提示的更多相关文章

  1. Android控件之MultiAutoCompleteTextView(自动匹配输入的内容)

    一.功能 可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配,可用在发送短信,发邮件时选择联系人这种类型中 二.独特属性 android:comp ...

  2. Android控件之AutoCompleteTextView(自动匹配输入的内容)

    一.功能 动态匹配输入的内容,如百度搜索引擎当输入文本时,可以根据内容显示匹配的热门信息 二.独特属性 android:completionThreshold = "2"    — ...

  3. Android搜索自动提示功能 AutocompleteTextView

    1.配置main.xml中自动提示控件: <AutoCompleteTextView android:id="@+id/autotv_searchresult" androi ...

  4. Notepad++ 【自动完成】与【输入时提示函数参数】互相冲突,无奈

    Notepad++ 既然可以在输入时提示函数参数,可是当提示函数参数的时候,输入具体参数时[自动完成]失效了. 一位用户遇到和我一样的问题:https://community.notepad-plus ...

  5. emacs: 文本输入中文件目录自动补全

    emacs: 文本输入中文件目录自动补全 // */ // ]]> UP | HOME   emacs: 文本输入中文件目录自动补全 Table of Contents 1 引言 2 补全过程演 ...

  6. 【高德地图API】从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索

    原文:[高德地图API]从零开始学高德JS API(四)搜索服务——POI搜索|自动完成|输入提示|行政区域|交叉路口|自有数据检索 摘要:地图服务,大家能想到哪些?POI搜素,输入提示,地址解析,公 ...

  7. Eclipse Android 代码自动提示功能

    Eclipse Android 代码自动提示功能 Eclipse for android 实现代码自动提示智能提示功能,介绍 Eclipse for android 编辑器中实现两种主要文件 java ...

  8. Android限定EditText的输入类型为数字或者英文(包括大小写),EditText,TextView只能输入两位小数

    Android限定EditText的输入类型为数字或者英文(包括大小写) // 监听密码输入框的输入内容类型,不可以输入中文    TextWatcher mTextWatcher = new Tex ...

  9. android开发_文本按钮 与 输入框

    1 TextView:    属性与值 android:text="文本" android:textSize="20sp"              //sp为 ...

随机推荐

  1. [Leetcode][JAVA] Distinct Subsequences

    Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...

  2. C++查找指定目录下所以指定类型的文件

    /*************************************************************** 函数名称:FindFile 查找指定目录下指定文件 输入:fileNa ...

  3. 设置UIButton或者UILabel显示文字的行数

    需要在UIButton的titleLabel或者UILabel的text 字符串里面添加换行符号 “\n”,并且设置 UILabel的numberOfLines属性 栗子:行数要和“\n”的个数对应, ...

  4. [1008]harder_prime

    素数定义:一个大于1的整数,如果它的约数如果只有1和它本身,那么它就是一个素数. 回文数定义:一个整数把它的各位数字倒过来还是它本身,那么它就是回文数,比如说2,99,393. 回文素数定义:一个数如 ...

  5. 关于NPOI导入导出

    http://www.360doc.com/content/14/0110/16/432969_344152497.shtml NPOI汇入Excel仅支持2007版本以内: [HttpPost] p ...

  6. 2013-09-22 [随笔]-Roy

    不能因为一些小事情而一直影响自己的心情. 每天过得都应该有重点,无论是家庭还是工作还是其他. 要多花时间去吸取些新东西,看书,丰富自己的想法. 不能让日常的乱七八糟影响心情. bingo!

  7. Swift 对比学习 (一)

    Swift相对Objective-C来说,有过之而无不及,并与Objective-C无缝混编,可谓利器.在Swift中可以看到不同的编程语言的影子,天下语言一大抄,这样也好,减低了不同语言的学习成本. ...

  8. 大数据存储:MongoDB实战指南——常见问题解答

    锁粒度与并发性能怎么样? 数据库的读写并发性能与锁的粒度息息相关,不管是读操作还是写操作开始运行时,都会请求相应的锁资源,如果请求不到,操作就会被阻塞.读操作请求的是读锁,能够与其它读操作共享,但是当 ...

  9. asp.net identity 2.2.0 中角色启用和基本使用(二)

    建立模型 第一步:在Models文件夹上点右键 >添加>类     类的名称自定,我用AdminViewModels命名的 因为是讲基本使用,我这里不做任何扩展. 第二步:添加如下命名空间 ...

  10. 来科普下游标(MSSQL)这东西。。。

    刚刚接到一个面试电话,对头的先生问我懂不懂触发器和存储过程,当时是觉得有些好笑,毕竟“视图.触发和存储”是咱数据库工程师的吉祥三宝,怎么可能不认识?只是稍后他还问了下游标这东西,仔细想想我是不常使用C ...