大家在用百度搜索时,输入几个词就出现下拉框可选,以下两个控件就具有这个功能

AutoCompleteTextView:只能匹配输入的开始,只有一次匹配

MultiAutoCompleteTextView:可以匹配多次输入,用分隔符来分隔每一次的输入,就像发邮件时选多个联系人一样,见例子:

一、AutoCompleteTextView的效果实现如下

布局文件如下

 <?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" > <!-- 属性ems表示从第几个字开始显示下拉匹配框 -->
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="2"
android:hint="请输入关键字搜索" > <requestFocus />
</AutoCompleteTextView> </LinearLayout>

代码文件如下

 package com.example.demo4;

 import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView; public class MyactivityMainActivity extends Activity { private AutoCompleteTextView acTextview; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //获取到控件实例
acTextview = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1); //定义一个字符串数组用来匹配输入的关键字
String[] dsr = new String[] {
"zhangshang", "zhangshi", "zhangzhang",
"lishang", "ligang",
"chengcheng", "chengzhi",
"wangwu"
}; //初始化一个用来匹配输入的下拉数据源适配器
ArrayAdapter<String> adptr = new ArrayAdapter<String>(
this, //当前对象
android.R.layout.simple_list_item_1, //这是一个系统自带的layout
dsr //数据源
); //设置AutoCompleteTextView控件的匹配器
acTextview.setAdapter(adptr); } }

二、MultiAutoCompleteTextView实现效果如下

布局文件不用上了,就是变了一个控件而已,直接看代码,也就多了一条语句而已

 package com.example.demo4;

 import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.MultiAutoCompleteTextView; public class MyactivityMainActivity extends Activity { private MultiAutoCompleteTextView macTextview; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //获取到控件实例
macTextview = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView1); //定义一个字符串数组用来匹配输入的关键字
String[] dsr = new String[] {
"zhangshang", "zhangshi", "zhangzhang",
"lishang", "ligang",
"chengcheng", "chengzhi",
"wangwu"
}; //初始化一个用来匹配输入的下拉数据源适配器
ArrayAdapter<String> adptr = new ArrayAdapter<String>(
this, //当前对象
android.R.layout.simple_list_item_1, //这是一个系统自带的layout
dsr //数据源
); //设置AutoCompleteTextView控件的匹配器
macTextview.setAdapter(adptr); //设备多次输入的分隔,这里为逗号
macTextview.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); } }

完了,是不是so easy,MultiAutoCompleteTextView就比AutoCompleteTextView多加了一条分隔语句而已,特么就是儿子继承了多一个功能而已!!!

Android学习起步 - AutoCompleteTextView及MultiAutoCompleteTextView控件使用的更多相关文章

  1. Android学习之AutoCompleteTextView和MultiAutoCompleteTextView

    转自:http://blog.csdn.net/qq_28468727/article/details/52258409 AutoCompleteTextView.MultiAutoCompleteT ...

  2. Android开发技巧——自定义控件之组合控件

    Android开发技巧--自定义控件之组合控件 我准备在接下来一段时间,写一系列有关Android自定义控件的博客,包括如何进行各种自定义,并分享一下我所知道的其中的技巧,注意点等. 还是那句老话,尽 ...

  3. React-Native的基本控件属性方法,对React-Native的学习,从熟悉基本控件开始。

    对React-Native的学习,从熟悉基本控件开始. View 属性方法 序号 名称 属性Or方法 类型 说明 1 accessibilityLabel 属性 string   2 accessib ...

  4. [APP] Android 开发笔记 004-Android常用基本控件使用说明

    TextView 文本框 EditText控件 Button 与 ImageButton ImageView RadioButton CheckBox复选框 TextView 文本框 ,用于显示文本的 ...

  5. (转载)Android UI设计之AlertDialog弹窗控件

    Android UI设计之AlertDialog弹窗控件 作者:qq_27630169 字体:[增加 减小] 类型:转载 时间:2016-08-18我要评论 这篇文章主要为大家详细介绍了Android ...

  6. Android support library支持包常用控件介绍(二)

    谷歌官方推出Material Design 设计理念已经有段时间了,为支持更方便的实现 Material Design设计效果,官方给出了Android support design library ...

  7. (转载) Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框

    Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框 标签: Android清除功能EditText仿IOS的输入框 2013-09-04 17:33 70865人阅读  ...

  8. Android CardView卡片布局 标签: 控件

    CardView介绍 CardView是Android 5.0系统引入的控件,相当于FragmentLayout布局控件然后添加圆角及阴影的效果:CardView被包装为一种布局,并且经常在ListV ...

  9. Android开源中国客户端学习 (自定义View)左右滑动控件ScrollLayout

    左右滑动的控件我们使用的也是非常多了,但是基本上都是使用的viewpager 等 android基础的控件,那么我们有么有考虑过查看他的源码进行定制呢?当然,如果你自我感觉非常好的话可以自己定制一个, ...

随机推荐

  1. 【 D3.js 入门系列 --- 7 】 理解 update, enter, exit 的使用

    在前面几节中反复出现了如下代码: svg.selectAll("rect") .data(dataset) .enter() .append("rect") 当 ...

  2. mySql中IFNULL的使用说明

    IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值 具体用法如:现有学生表(tbl_stu ...

  3. HTML5新标签video在iOS上默认全屏播放

    今天做一个app时发现一个问题,应用html5中的video标签加载视频,在Android手机上默认播放大小,但是换成iPhone手机上出问题了,默认弹出全屏播放,查找了好多论坛,都没有谈论这个的.然 ...

  4. hdu2348题解

    又恬不知耻的开始写题解了,暑假到了,QAQ然而想我这样的弱逼是没有暑假的sad,还是老老实实刷题吧. 题目大意:给一个小车的宽度和长度和两条道路的宽度,判断小车能否通过. 思路:可以先看下面的图,我们 ...

  5. Java中对数据库的查询和增加内容

    先添加jar包 查询数据库中的信息 加载访问驱动,com.mysql.jdbc.Driver--连接到库--写SQL语句 用while循环把表中的信息从第一条到最后一条打印出来,括号中的数字是代表数据 ...

  6. flume 不报错但是不能正常使用

    flume-ng agent --conf ./conf/ --conf-file ./conf/test1.conf --name a1 -Dflume.root.logger=INFO,conso ...

  7. HA-0302 退役

    2016年11月20日 上午12:00许,NOIP2016(复赛)结束. HA-0302正式退役.

  8. texturepacker打包图片,场景切换时背景图有黑边

    在使用TexturePacker打包图片之后,背景图在场景切换(有切换动画)时,明显能看到有黑边,在百度之后解决了. 知乎上边有网友贴出了两种解决方法,我抄过来如下: 第一种: 修改 ccConfig ...

  9. 原生select默认显示为空胡fish覅神农大丰今年圣诞节奋笔疾书发撒可交付你说的尽快发那段时间南方大厦尽可能放你的所发生的你富家大室耐腐蚀的看法呢尽快发你上课积啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊撒啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊分你束带结发你看

    下拉框默认为空: <select> <option value="" class="blank"></option> < ...

  10. window.onload与$(document).ready()区别

    2013-12-08 17:11:34 window.onload一次只能执行一个程序,而$(document).ready()可以按照先后顺序执行多个程序. eg: function one(){ ...