zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

Android 中文 API (22) —— MultiAutoCompleteTextView

2023-09-14 09:00:58 时间

前言

本章内容是android.widget.MultiAutoCompleteTextView,翻译来自颖哥儿,再次感谢 颖哥儿 !期待你一起参与Android API 的中文翻译,联系我over140@gmail.com。 

 

声明

欢迎转载,但请保留文章原始出处:) 

博客园:http://www.cnblogs.com/

Android中文翻译组:http://www.cnblogs.com/over140/  

 

正文

一、结构

public class MultiAutoCompleteTextView extends AutoCompleteTextView

 

java.lang.Object

android.view.View

android.widget.TextView

android.widget.EditText

android.widget.AutoCompleteTextView

                                android.widget.MultiAutoCompleteTextView

 

二、 类概述

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

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

下面的代码片段展示了如何创建一个文本视图,这个视图用来对用户输入的国家名称进行有效地补充提示。

 

三、公共方法

         public boolean enoughToFilter ()

    此方法并不是检验什么时候文本的总长度超过了预定的值,而是在仅当从函数findTokenStart()到getSelectionEnd()函数得到的文本长度为0或者超过了预定值的时候才起作用。(译者注:当文本长度超过阈值时过滤)

 

         public void performValidation ()

         此子类方法并不是用来确定整个文本的有效性,而是用来确定文本中的单个符号的有效性。空标记将被移除。

 

         public void setTokenizer (MultiAutoCompleteTextView.Tokenizer t)

         设置用来决定用户正在输入文本的范围的分词组件。

  

四、 受保护方法

         protected void performFiltering (CharSequence text, int keyCode)

此方法并不过滤整个编辑框的内容,只是过滤从函数findTokenStart() 到函数getSelectionEnd()获得的长度为0或者超过了预定的值的文本内容。

参数

text          指定过滤模式

keyCode           插入到编辑框中的最后一个字符;当字符(文本)是通过软键盘输入的时候,小心此字符的值可能为NULL。

 

         protected void performFiltering (CharSequence text, int start, int end, int keyCode)

         启动对下拉式列表内容的过滤。过滤模式为编辑框中指定的范围。子类可覆盖此方法,以便于采用一个不同的模式。

 

         protected void replaceText (CharSequence text)

    通过替换从函数findTokenStart() 到函数 getSelectionEnd()得到的文本文本范围以及传递给函数terminateToken()的文版返回的结果来实现文本的输入。另外,文本的替换区域将会被标记为自动文本区,这样如果用户直接按DEL键,执行过程就会停止。子类可覆盖此方法来实现许多不同的文本插入工作。

参数

 text          下拉列表里的选中项 

 

五、补充

5.1 相关文章链接

Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究

AutoCompleteTextView和MultiAutoCompleteTextView

Auto Complete Text

 

结束

文章图片使用的是文章3中的,使用代码也可以从三篇文章中找得到,欢迎大家提供建议。


转载:http://www.cnblogs.com/over140/archive/2010/10/29/1864133.html


最权威的 Android Oreo 新特性详解(带有中文视频讲解) Android 8.0 是谷歌推出的智能手机操作系统,2017年3月21日Google 为开发者推出了新的 Android O 首个开发者预览版,2017 Google I/O 开发者大会上发布了第二个Android O开发者预览 。2017年8月22日,谷歌正式发布了Android 8.0的正式版,其正式名称为:Android Oreo(奥利奥),简称 Android O 。