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

我们先来看效果图。

要实现这种效果十分简单。需要一个控件,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. 【转载】ORA-12519: TNS:no appropriate service handler found 解决

    感谢原作者! 原文地址:http://www.cnblogs.com/ungshow/archive/2008/10/16/1312846.html ORA-12519: TNS:no appropr ...

  2. jsp:jstl标签库国际化 fmt

    首先资源文件目录是:src/man/sources (这是它默认的资源文件) i18n_en_US.properties文件内容 copyright=Copyright \u00A9 2013 lan ...

  3. DecimalFormat数据格式函数

    DecimalFormat数据格式函数 class FormatDemo2{ public void format(String pattern, double value) { DecimalFor ...

  4. 2017-02-20 注册.Net Framework4.0

    在使用IIS发布Web应用程序时,有时会遇到Asp.Net 4.0尚未在Web服务器上注册的问题,需要手动注册下.Net Framework 4.0. 注册.net Framwork4.0 步骤,以w ...

  5. TODO 正则表达式

    TODO: break it. \btodo\b.* FIXME: break it. \bfixme\b.* TODO: [Bob] break it. \btodo\s*:\s*\[bob\].*

  6. 51nod 1281 二分

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1281 隐藏话题 1281 山峰和旗子 题目来源: Codility 基准 ...

  7. TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute【转】

    转自:http://blog.csdn.net/goodboy1881/article/details/670761 1.IMCP协议介绍 前面讲到了,IP协议并不是一个可靠的协议(是一种尽力传送的协 ...

  8. Unable to load native-hadoop library for your platform(已解决)

    1.增加调试信息寻找问题 2.两种方式解决unable to load native-hadoop library for you platform 附:libc/glibc/glib简介 参考: 1 ...

  9. 25 python socket网络编程

    一 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构 互联网中处处是C/S架构 如黄色网站是服务端,你的浏览器是客户端(B/S架构也是C/S架构的一种) 腾讯作为服务端为你提供视频 ...

  10. LeetCode OJ:Path Sum II(路径和II)

    Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...