博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AutoCompleteTextView(自动提示)
阅读量:6757 次
发布时间:2019-06-26

本文共 2972 字,大约阅读时间需要 9 分钟。

AutoCompleteTextView的功能类似于百度或者Google在搜索栏输入信息的时候,弹出的与输入信息接近的提示信息。
当然这里要要用到一些适配器
在 中提供了两智能输入框,它们是MultiAutoCompleteTextView、AutoCompleteTextView。它们的功能大致一样,它和AutoCompleteTextView的区别就是MultiAutoCompleteTextView可以在输入框中一直增加新的选取值。编写方式也有所不同,在进行setAdapter之后还需要调用setTokenizer() 。下面详细介绍一下。
一、AutoCompleteTextView
1.简介
一个可编辑的文本视图,当用户输入信息后弹出提示。提示列表显示在一个下拉菜单中,用户可以从中选择一项,以完成输入。提示列表是从一个数据适配器获取的数据。
2.重要方法
      clearListSelection():清除选中的列表项
      dismissDropDown():如果存在关闭下拉菜单
      getAdapter():获取适配器
3.创建须知
 (1)布局文件
<AutoCompleteTextView
         :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
adapter=new ArrayAdapter
(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.
02.
07.
12.
17.
22.

转载于:https://www.cnblogs.com/hopeanCom/archive/2012/12/12/2845437.html

你可能感兴趣的文章
引用数据类型赋值的具体步骤
查看>>
centos6.4双网卡实现共享上网
查看>>
UVA10474 Where is the Marble?
查看>>
二进制128位整数运算
查看>>
Linux shell编程学习笔记-----第七章
查看>>
oracle 查询char类型的数据
查看>>
Vue项目碰到"‘webpack-dev-server’不是内部或外部命令,也不是可运行的程序或批处理文件"报错...
查看>>
Android zxing扫描二维码 为什么有些机型扫描不出来或者很慢?
查看>>
SQLHelp sql数据库的DAL
查看>>
Java集合--LinkedList
查看>>
进阶第二课 Python内置函数(补)及自定义函数
查看>>
Spell It Right
查看>>
Spring AOP术语解释
查看>>
(一)通过JAVA连接SAP (sapjco3.jar在Windows和MacOS上的配置)
查看>>
《王者荣耀》的英雄是怎么诞生的?有没有最厉害的英雄?
查看>>
公司常用几种请求
查看>>
python3 字符串格式化
查看>>
一个字符在字符串中出现最多的次数的打印
查看>>
图片的三级缓存
查看>>
js跨域问题解决方案
查看>>