博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究
阅读量:6256 次
发布时间:2019-06-22

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

hot3.png

在Android中提供了两种智能输入框,它们是AutoCompleteTextView、MultiAutoCompleteTextView。它们的功能大致一样。显示效果像Google搜索一样,当你在搜索框里输入一些字符时(至少两个字符),会自动弹出一个下拉框提示类似的结果。下面详细介绍一下。

一、AutoCompleteTextView

1、简介

一个继承自的可编辑的文本视图,能够实现动态匹配输入的内容。如google搜索引擎当输入文本时可以根据内容显示匹配的热门信息。

2、重要方法

clearListSelection():清除选中的列表项

dismissDropDown():如果存在关闭下拉菜单

getAdapter():获取适配器

二、MultiAutoCompleteTextView

1、简介

一个继承自的可编辑的文本视图,能够对用户键入的文本进行有效地扩充提示,而不需要用户输入整个内容。(用户输入一部分内容,剩下的部分系统就会给予提示)。

用户必须提供一个用来区分不同的子串。

2、重要方法

enoughToFilter():当文本长度超过阈值时过滤

performValidation():代替验证整个文本,这个子类方法验证每个单独的文字标记

setTokenizer(MultiAutoCompleteTextView.Tokenizer t):用户正在输入时,tokenizer设置将用于确定文本相关范围内

以下为案例

main.xml布局文件

 
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <AutoCompleteTextView android:id="@+id/autoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <MultiAutoCompleteTextView android:id="@+id/multiAutoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>

TextViewActivity类

 
package com.ljq.activity; import android.app.Activity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; public class TextViewActivity extends Activity { // 福建九地市 private static final String[] cities= new String[] {"FuZhou", "XiaMen", "NiDe", "PuTian","QuanZhou", "ZhangZhou", "LongYan", "SanMing","NanPing"}; private AutoCompleteTextView autoCompleteTextView= null; private MultiAutoCompleteTextView multiAutoCompleteTextView= null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); autoCompleteTextView=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView); multiAutoCompleteTextView=(MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView); // 创建适配器 ArrayAdapter<String> adapter= new ArrayAdapter<String>( this, android.R.layout.simple_dropdown_item_1line, cities); autoCompleteTextView.setAdapter(adapter); // 设置输入多少字符后提示,默认值为2 autoCompleteTextView.setThreshold(2); multiAutoCompleteTextView.setAdapter(adapter); multiAutoCompleteTextView.setThreshold(2); // 用户必须提供一个MultiAutoCompleteTextView.Tokenizer用来区分不同的子串。 multiAutoCompleteTextView.setTokenizer( new MultiAutoCompleteTextView.CommaTokenizer()); } }

运行结果

03151549_4Exv.png

转载于:https://my.oschina.net/u/1014520/blog/181101

你可能感兴趣的文章
为什么要评审代码?
查看>>
小程序开发前的准备工作之【深入封装Component】
查看>>
AFN3.0源码解析
查看>>
oracle的drop命令
查看>>
设计与梳理企业二级流程的路线方法
查看>>
Python正则表达式指南
查看>>
使用css3制作渐变分割线
查看>>
垃圾回收概念与算法
查看>>
TFS实现需求工作项自动级联保存
查看>>
springmvc 4.x 处理json 数据时中文乱码
查看>>
Python练习(day7)
查看>>
网络工程师笔试题总结
查看>>
C# DataTable的詳細用法
查看>>
关于CISCO asa5510防火墙端口映射配置
查看>>
monkey详细介绍之二
查看>>
Java 读取 .properties 配置文件
查看>>
取消文件默认打开方式
查看>>
echarts使用笔记四:双Y轴
查看>>
二分法查找
查看>>
不用加减乘除实现加法运算
查看>>