今天我们要讲一个十分简单的内容,就是一个安卓控件的使用,用法很简单,但是很常用的一个。这里我用两种不同的写法来处理。当然,无论用哪一种写法,效果都是一样的。

我们先来看效果图。

要实现这种效果十分简单。需要一个控件,AutoCompleteTextView,他是EidtView的子类

我们先看第一种写法

先看布局文件

<?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="horizontal" > <AutoCompleteTextView
android:id="@+id/auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
>
</AutoCompleteTextView> </LinearLayout>

autocomplete.xml

然后就主类文件

package com.example.mydemo.autotextview;

import java.util.ArrayList;
import java.util.List; import com.example.mydemo.R; import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView; /**
***************************************************************
*
* @版权 LinFeng
*
* @作者 LinFeng
*
* @版本 1.0
*
* @创建日期 2016-6-14
*
* @功能描述 智能提示的文本框
*****************************************************************
*/
public class AutoCompleteActivtiy extends Activity { private AutoCompleteTextView aTextView;
private ArrayList<String> list;
private ArrayAdapter<String> adapter; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.autocomplete);
aTextView = (AutoCompleteTextView) findViewById(R.id.auto);
/**
* 定义一个设配器
*/
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getData());
aTextView.setAdapter(adapter); } /**
* 智能提示的文本内容存储在集合中,实际开发中,一般我们数据在服务器中获取
* 在输入过程中,我们要注意,必须输入两个及以上的字符才会有提示哦
* @return
*/
public List<String> getData(){
list = new ArrayList<String>();
list.add("JoyceChu0");
list.add("JoyceChu1");
list.add("JoyceChu2");
list.add("JoyceChu3");
list.add("JoyceChu4"); return list; } }

AutoCompleteActivtiy

这个就是第一种写法,十分简单

然后我们看看第二种写法,第二种写法其实和第一种很像,只是我们把数据写入资源文件的strings.xml中而已。所以我们需要先看看strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources> <string name="app_name">MyDemo</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<!-- 定义一个数组资源 -->
<string-array name="tpis">
<item>JoyceChu0</item>
<item>JoyceChu1</item>
<item>JoyceChu2</item>
<item>JoyceChu3</item>
<item>JoyceChu4</item>
</string-array> </resources>

strings.xml

然后主文件只需要做很小的修改就可以了,其实就是拿到数组数据,然后把数据写到设配器里面就可以了。

String srt[] = getResources().getStringArray(R.array.tpis);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, srt);

Android实现智能提示的文本输入框AutoCompleteTextView的更多相关文章

  1. Android 自学之自动完成文本框 AutoCompleteTextView

    自动完成文本框(AutoCompleteTextView)从EditText派生而出,实际上他也是一个编辑框,但他比普通的编辑框多了一个功能:当用户输入一定字符后,自动完成文本框会显示一个下拉菜单,供 ...

  2. 【WPF】自动完成/智能提示的文本框(AutoCompleteBox)

    使用了插件WPFToolKit.(直接在Nuget中搜即可) 使用方法参考这篇文章: http://www.broculos.net/2014/04/wpf-autocompletebox-autoc ...

  3. android studio 智能提示忽略大小写

    Step1: Step2:

  4. Android文本输入框(EditText)切换密码的显示与隐藏

    package cc.c; import android.app.Activity; import android.os.Bundle; import android.text.Selection; ...

  5. Android自己主动提示文本框(AutoCompleteTextView)

    自己主动提示文本框(AutoCompleteTextView)能够加强用户体验,缩短用户的输入时间(百度的搜索框就是这个效果). 首先.在xml中定义AutoCompleteTextView控件: a ...

  6. Android用户界面 UI组件--自动提示输入框 AutoCompleteTextView和MultiAutoCompleteTextView

    AutoCompleteTextView: 就是一个带自动提示的EditText,当输入字符时,会出现提示. android:completionThreshold  输入几个字符时提示 androi ...

  7. Android自动提示控件:AutoCompleteTextView和MultiAutoCompleteTextView

    在输入框中输入我们想要输入的信息就会出现其他与其相关的提示信息,这种效果在Android中是用AutoCompleteTextView实现的. 一.AutoCompleteTextView:单一匹配 ...

  8. Android零基础入门第47节:自动完成文本框AutoCompleteTextView

    原文:Android零基础入门第47节:自动完成文本框AutoCompleteTextView 上一期学习的Spinner的使用,掌握的怎么样?本期一起来学习AutoCompleteTextView的 ...

  9. Android开发10.2:UI组件AutoCompleteTextView(自动完成文本框)

    概述 AutoCompleteTextVeiw(自动完成文本框)从 EditText派生而出  PS :EditText用法介绍           当用户输入一定字符后,自动完成自动完成文本框会显示 ...

随机推荐

  1. Python DB API 连接数据库

    Python DB API Mysql,Oracle,SqlServer 不关闭,会浪费资源.

  2. phpPgAdmin (win)配置安装及远程访问

    phpPgAdmin (win)配置安装 [1]     通过PostgreSQL的Application Stack Builder配置安装phpPgAdmin 1.确保PostgreSQL安装并正 ...

  3. jquery自定义window事件

    <body> <a href='https://www.baidu.com/'>百度</a> </body> <script type=" ...

  4. Python中的Unicode编码和UTF-8编码

    下午看廖雪峰的Python2.7教程,看到 字符串和编码 一节,有一点感受,结合崔庆才的Python博客 ,把这种感受记录下来: ASCII码:是用一个字节(8bit, 0-255)中的127个字母表 ...

  5. MySQL 基础知识(基本架构、存储引擎差异)

    前言: // MySQL 并发.异步IO.进程劫持 最近在看高性能 MySQL,记录写学习笔记: 高性能 MySQL 学习笔记(一) 架构与历史 笔记核心内容:MySQL 服务器基础架构.各种存储引擎 ...

  6. foobar2000下播放DSD音乐的插件

    需要测试foobar下面DSD的播放插件,翻遍了度娘,找不到一个容易下载的地方,要不一大堆广告,要不就是需要账号,烦死了,总是设置了很多障碍.其实这东西是人家老外开发的,最原始的插件名字叫做foo_i ...

  7. SpringBoot邮件发送功能

    快速入门 在Spring Boot的工程中的pom.xml中引入spring-boot-starter-mail依赖: <dependency> <groupId>org.sp ...

  8. MyEclipse设置默认的文档注释和背景色设置

  9. BackBone 源码解读及思考

    说明 前段时间略忙,终于找到时间看看backbone代码. 正如知友们说的那样,backbone简单.随性. 代码简单的看一眼,就能知道作者的思路.因为简单,所以随性,可以很自由的和其他类库大搭配使用 ...

  10. 3.18 CCProgressTo 进度计时器

    CCProgressTimer * pross = CCProgressTimer::create(CCSprite::create("Icon.png")); pross-> ...