/********************************************************************************************
* author:conowen@大钟
* E-mail:conowen@hotmail.com
* http://blog.csdn.net/conowen
* 注:本文为原创,仅作为学习交流使用,转载请标明作者及出处。

********************************************************************************************/

AutoCompleteTextView是实现动态匹配输入内容的一种输入框(EditText)

如输入“and”时,会提示“android”

    1. package com.conowen.test;
    2. import android.app.Activity;
    3. import android.os.Bundle;
    4. import android.text.Editable;
    5. import android.text.TextWatcher;
    6. import android.widget.AutoCompleteTextView;
    7. public class DrComActivity extends Activity {
    8. /** Called when the activity is first created. */
    9. @Override
    10. public void onCreate(Bundle savedInstanceState) {
    11. super.onCreate(savedInstanceState);
    12. setContentView(R.layout.main);
    13. AutoCompleteTextView autoinput =(AutoCompleteTextView) findViewById(R.id.autoinput);
    14. autoinput.setThreshold(1);// 输入一个字母就开始自动提示
    15. autoinput.addTextChangedListener(new TextWatcher() {
    16. @Override
    17. public void onTextChanged(CharSequence s, int start, int before, int count) {
    18. // TODO Auto-generated method stub
    19. //s是输入框正在输的字符串,随着不断的输入,s的值也会不停地改变
    20. String str = s.toString();
    21. String[] temp = getInputAdapter(getInputWorldOrder(str));
    22. //此处代码省略,自己通过查询数据库或者其他方法,动态地获取相应的字符串数组
    23. //如做一个字典时,不可能预先把所有单词做成一个adapter,应该根据输入的字符,
    24. //动态地查询一定数量的相对应的单词,然后再构建adapter
    25. ArrayAdapter<String> adapter = new ArrayAdapter<String>(ct,
    26. android.R.layout.simple_dropdown_item_1line, temp);
    27. autoinput.setAdapter(adapter)
    28. //正在输入时,构建adapter,然后把adapter绑定在AutoCompleteTextView 上面
    29. @Override
    30. public void beforeTextChanged(CharSequence s, int start, int count,
    31. int after) {
    32. // TODO Auto-generated method stub
    33. }
    34. @Override
    35. public void afterTextChanged(Editable s) {
    36. // TODO Auto-generated method stub
    37. }
    38. }
    39. }
    40. }

AutoCompleteTextView与TextWatcher的结合的更多相关文章

  1. AutoCompleteTextView 和 TextWatcher 详解

    TextWatcher 监测Edittext内容的变化------------------------------------------------------------------------- ...

  2. Android面试收集录 Android组件

    1.请说出Android SDK支持哪些方式显示富文本信息? 使用TextView组件可以显示富文本信息,如果要实现图文混排,需实现ImageGetter接口 使用WebView组件显示HTML页面 ...

  3. android之AutoCompleteTextView控件用法

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...

  4. AutoCompleteTextView搭配Poi搜索实现多项选择

    项目需要 需要用到AutoCompleteTextView控件,在输入之后能在下方产生一个推荐结果的列表,就类似于金山词霸一类软件.输入一两个字符就能出来一系列类似的的单词, 这里做的例子是输入城市名 ...

  5. AutoCompleteTextView 自定义提示样式

    项目中用到AutoCompleteTextView  自动提示功能,如果用自带的ArrayAdapter就一种样式,非常丑,而且每一项提示文字过多的话不会自动换行. 所以自己自定义了一个适配器. 效果 ...

  6. Android搜索自动提示功能 AutocompleteTextView

    1.配置main.xml中自动提示控件: <AutoCompleteTextView android:id="@+id/autotv_searchresult" androi ...

  7. Android SQLite与AutoCompleteTextView

    读取SQLite中的数据显示在AutoCompleteTextView中,支持动态加入SQLite中不存在的数据. package zhang.ya; import java.io.File; imp ...

  8. Android AutoCompleteTextView控件实现类似百度搜索提示,限制输入数字长度

    Android AutoCompleteTextView 控件实现类似被搜索提示,效果如下 1.首先贴出布局代码 activity_main.xml: <?xml version="1 ...

  9. android AutoCompleteTextView 实现手机号格式化,附带清空历史的操作

    有个小伙伴遇到了这样一个问题,就是AutoCompleteTextView实现自动填充的功能.同时要具备手机格式化的功能.下拉列表最后一行是有个清除历史的功能.可是点击“清除历史”却把文字要设置进去A ...

随机推荐

  1. Windows键盘快捷键

  2. Eclipse新版 syso无法自动补全的解决方法

    症状: 以前输入Syso可以直接自动转化为System.out.println(""); 现如今居然还要让我手动选择一下才可以! 我仔细看了一下Eclipse的插件,发现是新版Ec ...

  3. ios 设计软件

    briefs V1.0.5 download @ here:http://soft.macx.cn/5442.htm 密码:www.macx.cn

  4. 一套名企WEB前端面试题,不提供答案

    1.说说你对Doctype的理解 2.web产品开发的流程 3.说说你对盒子模型的理解 4.前端页面有哪三层构成,分别是什么?作用是什么? 5.行内元素有哪些?块级元素有哪些?他们如何相互转化? 6. ...

  5. python笔记1

    1.python中的语句块是用缩进表示,并不像C类语言中用{}表示语句块,还有就是语句块的开始貌似是用:表示,然后C类语言中()在python中用"空格"表示了,例如python中 ...

  6. CentOS用yum安装X Window

    安装X图形界面系统 yum list 列出所有可安装的软件包 可以通过 yum grouplist 来查看可能批量安装哪些列表 先装X windows #yum groupinstall 'X Win ...

  7. 机器学习在 IT 运维管理中的必要性!

    机器学习技术在监控工具中的应用已经成为 IT 运维与 DevOps 团队的一大热点话题.尽管相关的使用案例很多,对 IT 团队而已真正的「杀手级应用」是机器学习如何提高实时事件管理能力,从而帮助较大规 ...

  8. POJ 1317

    #include <iostream> #include <string> using namespace std; char p_code[] = {'_','a','b', ...

  9. 使用Ninject来解决程序中组件的耦合问题

    1.为什么要用Ninject? Ninject是一个IOC容器用来解决程序中组件的耦合问题,它的目的在于做到最少配置.其他的的IOC工具过于依赖配置文件,需要使用assembly-qualified名 ...

  10. JS之DOM(二)

    一.DOM节点的操作 1.增加: (1). document.creatElement('标签名');创建元素节点 (2). document.creatTextNode('文本内容'):创建文本节点 ...