zoukankan      html  css  js  c++  java
  • Android之自动文本输入识别提示

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

      所谓自动识别输入即是根据用户输入的已有信息,为用户提示可能的值,方便用户完成输入。在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());//设置分隔符
        }
    }

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

  • 相关阅读:
    [LeetCode] 5. 最长回文子串
    [LeetCode] 572. 另一个树的子树
    [LeetCode] 983. 最低票价
    [LeetCode] 98. 验证二叉搜索树
    [LeetCode] 3. 无重复字符的最长子串
    [LeetCode] 21. 合并两个有序链表
    [LeetCode] 202. 快乐数
    [LeetCode] 面试题 01.07. 旋转矩阵
    [LeetCode] 面试题56
    个人网站实现支持https
  • 原文地址:https://www.cnblogs.com/AndroidJotting/p/4276046.html
Copyright © 2011-2022 走看看