AutoCompleteTextView的功能类似于百度或者Google在搜索栏输入信息的时候,弹出的与输入信息接近的提示信息。

当然这里要要用到一些适配器


在 Android中提供了两智能输入框,它们是MultiAutoCompleteTextView、AutoCompleteTextView。它们的功能大致一样,它和AutoCompleteTextView的区别就是MultiAutoCompleteTextView可以在输入框中一直增加新的选取值。编写方式也有所不同,在进行setAdapter之后还需要调用setTokenizer() 。下面详细介绍一下。
一、AutoCompleteTextView
1.简介
一个可编辑的文本视图,当用户输入信息后弹出提示。提示列表显示在一个下拉菜单中,用户可以从中选择一项,以完成输入。提示列表是从一个数据适配器获取的数据。
2.重要方法
      clearListSelection():清除选中的列表项
      dismissDropDown():如果存在关闭下拉菜单
      getAdapter():获取适配器
3.创建须知
 (1)布局文件
<AutoCompleteTextView
android:id="@+id/edit"
 android:layout_width="match_parent"
android:layout_height="wrap_content" />
 (2)程序
    实例化适配器
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, strs);
    设置适配器
    edit.setAdapter(adapter);

二、MultiAutoCompleteTextView
1.简介
继承自AutoCompleteTextView,延长AutoCompleteTextView的长度,你必须要提供一个MultiAutoCompleteTextView.Tokenizer来区分不同的子串
2.重要方法
      enoughToFilter():当文本长度超过阈值时过滤
      performValidation():代替验证整个文本,这个子类方法验证每个单独的文字标记
      setTokenizer(MultiAutoCompleteTextView.Tokenizer t);
用户正在输入时,tokenizer设置将用于确定文本相关范围内
3.使用须知
  (1)布局文件
<MultiAutoCompleteTextView
android:id="@+id/edit1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content" />   
  (2)程序
    实例化适配器
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, strs);
    设置适配器
    edit.setAdapter(adapter);
    确定范围
    edit1.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer())

下面是个例子

AutoCommitTest.java

Java代码
01.package org.hualang.auto;02.03.import android.app.Activity;04.import android.os.Bundle;05.import android.widget.ArrayAdapter;06.import android.widget.AutoCompleteTextView;07.import android.widget.MultiAutoCompleteTextView;08.09.public class AutoCommitTest extends Activity {10.    /** Called when the activity is first created. */11.        private static final String[] autoString=new String[]{"welcome","well",12.                "weatch","weexeview","werap"};                                     13.    @Override14.    public void onCreate(Bundle savedInstanceState) {15.        super.onCreate(savedInstanceState);16.        setContentView(R.layout.main);17.        //关联关键字18.        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,19.                        android.R.layout.simple_dropdown_item_1line,20.                        autoString);21.        AutoCompleteTextView autocomplete=(AutoCompleteTextView)findViewById(R.id.auto);22.        autocomplete.setAdapter(adapter);23.        MultiAutoCompleteTextView multi=(MultiAutoCompleteTextView) findViewById(R.id.multi);24.        //将adapter添加到AutoCompleteTextView中25.        multi.setAdapter(adapter);26.        multi.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());27.    }28.}



main.xml

Java代码
01.<?xml version="1.0" encoding="utf-8"?>02.<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"03.    android:orientation="vertical"04.    android:layout_width="fill_parent"05.    android:layout_height="fill_parent"06.    >07.<TextView  08.    android:layout_width="fill_parent" 09.    android:layout_height="wrap_content" 10.    android:text="自动提示功能演示"11.    />12.<AutoCompleteTextView13.        android:id="@+id/auto"14.        android:layout_width="fill_parent"15.        android:layout_height="wrap_content"16./>17.<MultiAutoCompleteTextView18.        android:id="@+id/multi"19.        android:layout_width="fill_parent"20.        android:layout_height="wrap_content"21./>22.</LinearLayout>


更多相关文章

  1. android Gallery控件与BaseAdapter适配器
  2. android中,handler处理信息中弹出提示框注意事项
  3. Android Room,编译成功,倒是 build APK 失败提示: 无法访问:Activity
  4. 实现 Android 通知提示功能
  5. Android滚动显示TXT中文文本
  6. Android TextView 中文本横向滚动效果实现
  7. [Tools]Android Studio代码提示功能--Ctrl+Alt+Space(空格键)
  8. Android UI系列:TextView显示文本
  9. android适配器的使用

随机推荐

  1. Android(安卓)弹出软键盘android:windowS
  2. Android 多渠道定制化打包
  3. 如何在Android智能手机上捕获数据包
  4. android sdk 安装时无法连接到地址
  5. 《第一行代码(第二版)》学习(二)
  6. android中gravity和layoutgravity的区别
  7. Android入门之Activity的四种启动模式
  8. Android源代码编译脚本
  9. Android 常用控件(四)
  10. Android常用的网路框架