我的android学习经历12
自动匹配输入的内容(文章最后有一个问题有兴趣的可以解答一下,谢谢大神了)
这个主要是两个控件MultiAutoCompleteTextView和AutoCompleteTextView
这两个控件和TextView的主要区别就是可以自动匹配用户输入的内容,就像百度,在百度的搜索框中输入信息时,会提示你一些信息
这两个控件的属性主要比TextView多了一个属性 android:completionThreshold="2",这个属性主要是来说明用户输入多少字符时开始匹配(我这里是两个字符);
(1)先讲一下AutoCompleteTextView的实现
布局文件中有关的代码如下(主要的属性大家都认识,绿色的为特有的属性)
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/textView1"
android:hint="请输入内容"
android:textColor="#000000"
android:completionThreshold="2"
>
<requestFocus />
</AutoCompleteTextView>
在源代码文件中的代码为
private AutoCompleteTextView auTextView;
String []res={"ab1","ab2","ab3","ab4","ab5"};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
auTextView=(AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
//定义适配器并且添加适配器
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, res);
auTextView.setAdapter(adapter);
}
效果图如下:
(2)MultiAutoCompleteTextView的实现
它和AutoCompleteTextView的主要区别就在于它可以多次匹配,只要定义了分隔符,而AutoCompleteTextView只可以进行一次匹配
它在布局文件中的代码为
<MultiAutoCompleteTextView
android:id="@+id/multiAutoCompleteTextView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/autoCompleteTextView1"
android:layout_marginTop="24dp"
android:textColor="#000000"
android:completionThreshold="2"
android:hint="请输入内容" />
它在代码文件中的代码为:
private MultiAutoCompleteTextView muTextView;
String []res={"ab1","ab2","ab3","ab4","ab5"};
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//定义适配器并且添加适配器
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, res);
muTextView=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1);
muTextView.setAdapter(adapter);
//设置逗号分隔符
muTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
效果图如下:
那个设置分隔符的时候我不太懂我查了一下主要是用到了new MultiAutoCompleteTextView.CommaTokenizer(),不知道为什么这个就是逗号分隔符,希望大神可以解答,谢谢
有什么错误的地方请指出,谢谢
我的android学习经历12的更多相关文章
- 我的android学习经历
我为什么选择android? 我基本上前一年的时间都是在学习java的语法和线程之类的,没有注意java的分类,所以到现在慢慢接触到深处的时候我了解到,java的优势主要在web,而我不是特别喜欢网页 ...
- 我的android学习经历36
最近把android的基础知识都学的差不多了,也写了许多demo,就想自己写一个app,可是写到后面的时候发现很混乱,所以还是得写一些文档,用xml语言写一下基础的类以及一些其他的东西.所以要想写一个 ...
- 我的android学习经历27
前几天忙着学校的互联网+项目比赛,没有时间学习android和发一些东西,主要是这两天太累了,我是项目组长,好多东西去弄,今天已经交稿去进行初赛. 马上收拾收拾心情,继续我的andorid菜鸟之路 加 ...
- 我的android学习经历23
学习fragment时遇到的问题 这几天学习fragment静态加载时遇到这样的问题: java.lang.RuntimeException: Unable to start activity Com ...
- android学习笔记12——ListView、ListActivity
ListView.ListActivity ==> ListView以垂直列表的形式显示所有列表项. 创建ListView的方式: 1.直接使用ListView创建 2.Activity继承Li ...
- Android学习系列(12)--App列表之拖拽GridView
根据前面文章中ListView拖拽的实现原理,我们也是很容易实现推拽GridView的,下面我就以相同步骤实现基本的GridView拖拽效果. 因为GridView不用做分组处理,代码处理起来 ...
- 我的android学习经历9
给android的activity添加背景图片 1.你可以在网上下载android的图片,也可以制作自己的图片,图片的后缀为.png,也就是png格式的图片(注意图片的大小要适合你的手机屏幕或者AVD ...
- 我的android学习经历7
android签名后报错的问题 Duplicate id @+id/imageView, already defined earlier in this layout,android生成报错 这个是项 ...
- 我的android学习经历5
android在strings.xml文件中,写string对象时,如何加入空格 <string name="password">密 码:</string& ...
随机推荐
- Shader的语法
Shader "name" { [Properties] Subshaders [Fallback] }(1)Properties:{ Property [Property ... ...
- C#读写Json
C#处理json文件主要有两种方式: (1)使用JavaScriptSerializer类,需要引入System.Web.Extension库,并添加下面两个引用: using System.Web; ...
- Adroid学习系列-入门(1)
1. 安装 安装Eclipse,安装Adroid插件.安装Adroid SDK. 2. 项目目录说明 2.1. 建立Adroid项目 与一般的Java项目一样 )src文件夹是项目的所 ...
- sqlserver -- 学习笔记(四)将一个数据库的表复制到另外一个数据库(备忘)
--复制结构+数据 select * into 数据库名.dbo.新表名 from 数据库名.dbo.原表名 select * into Stockholder.dbo.SHInfo from dsp ...
- 比较HTML元素和Native组件的区别
我们开发web应用,会使用到各种Html基本元素,比较<div>,<span>,<img>等. 当我们在开发React Native时,我们不能使用HTML元素,但 ...
- 斐波那契堆(二)之 C++的实现
概要 上一章介绍了斐波那契堆的基本概念,并通过C语言实现了斐波那契堆.本章是斐波那契堆的C++实现. 目录1. 斐波那契堆的介绍2. 斐波那契堆的基本操作3. 斐波那契堆的C++实现(完整源码)4. ...
- JS魔法堂:追忆那些原始的选择器
一.前言 ...
- [Solution] 一步一步WCF(1) 快速入门
Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台.整合了原有的windows通讯的 .n ...
- Linq专题之Linq查询from子句
Linq查询表达式包含8个常用的子句:from.where.select.join.into.orderby.group.let.我们来看看详细的说明. from: 指定查询操作的 ...
- Azure开发者任务之三:理解Azure应用程序(上)
作为Windows Azure的托管服务被设计和开发的应用程序由这两部分组成: 1,托管代码 2,XML配置文件 托管代码对应不同的角色 XML文件对应不同的配置设置 我们可以看一下下面这张图,它详细 ...