Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究

来源:互联网 发布:怎么样打造淘宝爆款 编辑:程序博客网 时间:2024/04/28 04:41
在Android中提供了两种智能输入框,它们是AutoCompleteTextView、MultiAutoCompleteTextView。它们的功能大致一样。显示效果像Google搜索一样,当你在搜索框里输入一些字符时(至少两个字符),会自动弹出一个下拉框提示类似的结果。下面详细介绍一下。
一、AutoCompleteTextView
1、简介
一个继承自EditView的可编辑的文本视图,能够实现动态匹配输入的内容。如google搜索引擎当输入文本时可以根据内容显示匹配的热门信息。
2、重要方法
clearListSelection():清除选中的列表项
dismissDropDown():如果存在关闭下拉菜单
getAdapter():获取适配器

二、MultiAutoCompleteTextView
1、简介
一个继承自AutoCompleteTextView的可编辑的文本视图,能够对用户键入的文本进行有效地扩充提示,而不需要用户输入整个内容。(用户输入一部分内容,剩下的部分系统就会给予提示)。
用户必须提供一个MultiAutoCompleteTextView.Tokenizer用来区分不同的子串。
2、重要方法
enoughToFilter():当文本长度超过阈值时过滤
performValidation():代替验证整个文本,这个子类方法验证每个单独的文字标记
setTokenizer(MultiAutoCompleteTextView.Tokenizer t):用户正在输入时,tokenizer设置将用于确定文本相关范围内
以下为案例
main.xml布局文件
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.     android:orientation="vertical"
  4.     android:layout_width="fill_parent"
  5.     android:layout_height="fill_parent">
  6.     <AutoCompleteTextView android:id="@+id/autoCompleteTextView"
  7.         android:layout_width="fill_parent"
  8.         android:layout_height="wrap_content"/>
  9.     <MultiAutoCompleteTextView android:id="@+id/multiAutoCompleteTextView"
  10.         android:layout_width="fill_parent"
  11.         android:layout_height="wrap_content"/>
  12. </LinearLayout>
复制代码



TextViewActivity类
  1. package com.ljq.activity;

  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.widget.ArrayAdapter;
  5. import android.widget.AutoCompleteTextView;
  6. import android.widget.MultiAutoCompleteTextView;

  7. public class TextViewActivity extends Activity {
  8.     //福建九地市
  9.     private static final String[] cities=new String[]
  10.         {"FuZhou", "XiaMen", "NiDe", "PuTian","QuanZhou", "ZhangZhou", "LongYan", "SanMing","NanPing"};
  11.     private AutoCompleteTextView autoCompleteTextView=null;
  12.     private MultiAutoCompleteTextView multiAutoCompleteTextView=null;
  13.    
  14.     @Override
  15.     public void onCreate(Bundle savedInstanceState) {
  16.         super.onCreate(savedInstanceState);
  17.         setContentView(R.layout.main);
  18.         
  19.         autoCompleteTextView=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
  20.         multiAutoCompleteTextView=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView);
  21.         
  22.         //创建适配器
  23.         ArrayAdapter<String> adapter=new ArrayAdapter<String>(
  24.                 this,
  25.                 android.R.layout.simple_dropdown_item_1line,
  26.                 cities);
  27.         autoCompleteTextView.setAdapter(adapter);
  28.         //设置输入多少字符后提示,默认值为2
  29.         autoCompleteTextView.setThreshold(2);
  30.         
  31.         multiAutoCompleteTextView.setAdapter(adapter);
  32.         multiAutoCompleteTextView.setThreshold(2);
  33.         //用户必须提供一个MultiAutoCompleteTextView.Tokenizer用来区分不同的子串。
  34.         multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
  35.     }
  36. }
复制代码



运行结果

分类: android常用控件
标签: android AutoCompleteTextView, android MultiAutoCompleteTextView
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 手机号码绑定被别人占用了怎么办 DNF账号给找回了怎么办 转转上被骗了200怎么办 7彩账号被锁定怎么办 猪不吃食没精神怎么办 cf手游签到没给怎么办 cf说停止运行了怎么办 cf端游永久禁赛怎么办 cf端游爆破怕死怎么办 王者荣耀累计扣分12分怎么办 去医院看病没带身份证怎么办 ps4星战2鬼服怎么办 冒险岛英雄五转怎么办 6儿童视力低常怎么办 腰干活累的酸痛怎么办 狗狗体力很差怎么办啊 脉差总是五十多怎么办 吃过敏药嗜睡乏力怎么办 写字紧张心跳的快手抖怎么办 怀孕食欲差没精神怎么办 爬个三楼就喘了怎么办 头被篮球砸了怎么办 打球手指肿了很久怎么办 客人吃饭跑单了怎么办 脑子总是记不住东西怎么办 穿的鞋有味道怎么办 生完孩子血糖高怎么办 生了孩子子宫大怎么办 生完孩子阴吹怎么办 怀孕初期感冒嗓子发炎怎么办 脑子转不过来弯怎么办 他说我道行不深怎么办 鞋子内测磨破了怎么办 老公拉肚子拉的很厉害怎么办 老公拉肚子拉得很厉害怎么办 和老公吵架很厉害怎么办 新鞋鞋底吱吱响怎么办 新鞋鞋底滑了怎么办 工作中同事不配合怎么办 做体力活一身疼怎么办 大脑左则中动脉血管狭窄?怎么办