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

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. touch srceen

    /etc/udev/rules.d touchrules reset

  2. JSON数据;

    1.JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 2.JSON的规则很简单: 对象是一个无序的“‘名称/值'对”集合.一个对象以“{”(左括号)开始, ...

  3. 记录并分享一下安卓通讯录导入到IPhone

    仅仅记录一下我自己的步骤: 前提:我开始用的是诺基亚1202,黑白屏的功能机: 1.将卡放到安卓手机里面,用应用宝导出全部联系人为VCF后缀文件: 2.下载ITools,用它连接IPhone,导入到I ...

  4. 新浪ip地址转换接口

    通过IP地址获取对应的地区信息通常有两种方法:1)自己写程序,解析IP对应的地区信息,需要数据库.2)根据第三方提供的API查询获取地区信息. 第一种方法,参见文本<通过纯真IP数据库获取IP地 ...

  5. js或jquery如何获取父级、子级、兄弟元素(包括祖级、孙级等)

    原生javascript方法: var a = document.getElementById("dom"); del_space(a); //清理空格 var b = a.chi ...

  6. Linear Algebra Lecture5 note

    Section 2.7     PA=LU and Section 3.1   Vector Spaces and Subspaces   Transpose(转置) example: 特殊情况,对称 ...

  7. Windows环境下npm install常见错误

    Windows环境下npm install安装包依赖时,常出现一些错误,下面为个人解决办法: 错误一 缺少python环境: G:\nodejs\moviesite\node_modules\bcry ...

  8. 【IOS学习】1.IOS框架

    1.框架概述 iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa ...

  9. .net framework 3.5 序列化

    1.JSON序列化. 首先,引用程序集 System.Runtime.Serialization, 我们要使用System.Runtime.Serialization.Json,默认点不出来,这应该是 ...

  10. case when

    SELECT * FROM  category  WHERE EXISTS (SELECT * FROM goods WHERE goods.cat_id = category.cat_id) cat ...