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

我们先来看效果图。

要实现这种效果十分简单。需要一个控件,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. php攻击漏洞总结

    1.两字节编码(gbk)都存在宽字节攻击问题[character_set_client=gbk] 案例:http://www.cnblogs.com/lcamry/articles/5625276.h ...

  2. PowerDesigner(一)-PowerDesigner概述(系统分析与建模)

     PowerDesigner概述 PowerDesigner是Sybase公司推出的一个集成了企业架构,UML(统一建模语言)和数据库的CASE(计算机辅助软件工程)工具.它不仅可以用于系统设计和开发 ...

  3. sgu176 有源汇上下界最小流

    题意:有一堆点和边,1起点,n终点,某些边有可能必须满流,要求满足条件的最小流 解法:按原图建边,满流的即上下界都是容量,但是这样按有源汇上下界可行流求出来的可能不是最小流,那么我们需要开始建边的时候 ...

  4. ADO.NET异步操作测试

    配置文件: <?xml version="1.0"?> <configuration> <startup> <supportedRunti ...

  5. 05-THREE.JS 产生大雾的效果

    <!DOCTYPE html> <html> <head> <title></title> <script src="htt ...

  6. python编程实例-统计apache进程占用的物理内存

    #!/usr/bin/env python import os from subprocess import PIPE,Popen def getPids(): p = Popen(['pidof', ...

  7. github提交代码时遇到”Everything up-to-date“问题的解决方式

    需要创建一个新分支,将最新代码加入新分支, 再将新分支合并到主分支,然后提交主分支代码到github网站. ---------------------------------------------- ...

  8. Python之高级库socketserver

    socket并不能多并发,只能支持一个用户,socketserver 简化了编写网络服务程序的任务,socketserver是socket的在封装.socketserver在python2中为Sock ...

  9. c# Http请求之HttpClient

    利用HttpClient进行Http请求,基于此,简单地封装了下: using System; using System.Collections.Generic; using System.Colle ...

  10. Jenkins之构建触发器配置(转载)

    构建触发器配置,当你在文本框中输入配置的时间后,文本框下方会有时间解释,这样可以很好的看到自己配置的时间对不对. 可以清晰看到我的配置第一个运行时间是周五上午10点执行,第二次是星期六上午10点.   ...