Android 中文 API (22) —— MultiAutoCompleteTextView

简介:

一、结构

    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

本文转自博客园农民伯伯的博客,原文链接:Android 中文 API (22) —— MultiAutoCompleteTextView,如需转载请自行联系原博主。

目录
相关文章
|
Android开发
Android 11 修改libcore update-api 遇到的问题
Android 11 修改libcore update-api 遇到的问题
481 1
|
3月前
|
存储 机器学习/深度学习 API
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
608 31
Android API Level 到底是什么?和安卓什么关系?应用发布如何知道自己的版本?优雅草卓伊凡
|
编译器 API Android开发
Android经典实战之Kotlin Multiplatform 中,如何处理不同平台的 API 调用
本文介绍Kotlin Multiplatform (KMP) 中使用 `expect` 和 `actual` 关键字处理多平台API调用的方法。通过共通代码集定义预期API,各平台提供具体实现,编译器确保正确匹配,支持依赖注入、枚举类处理等,实现跨平台代码重用与原生性能。附带示例展示如何定义跨平台函数与类。
393 0
|
Android开发
Android经典实战之Textview文字设置不同颜色、下划线、加粗、超链接等效果
本文介绍了 `SpannableString` 在 Android 开发中的强大功能,包括如何在单个字符串中应用多种样式,如颜色、字体大小、风格等,并提供了详细代码示例,展示如何设置文本颜色、添加点击事件等,助你实现丰富文本效果。
917 4
|
XML 存储 Java
浅谈Android的TextView控件
浅谈Android的TextView控件
112 0
|
API Android开发 开发者
`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView
【6月更文挑战第26天】`RecyclerView`是Android API 21引入的UI组件,用于替代ListView和GridView。它提供高效的数据视图复用,优化的布局管理,支持多种布局(如线性、网格),并解耦数据、适配器和视图。RecyclerView的灵活性、性能(如局部刷新和动画支持)和扩展性使其成为现代Android开发的首选,特别是在处理大规模数据集时。
232 2
|
XML IDE 开发工具
13. 【Android教程】文本框 TextView
13. 【Android教程】文本框 TextView
253 2
|
SQL API Android开发
Android API:Activity.managedQuery()
Android API:Activity.managedQuery()
124 2
|
Android开发
android TextView HTML 的效果
android TextView HTML 的效果
88 2
|
Java Linux API
微信API:探究Android平台下Hook技术的比较与应用场景分析
微信API:探究Android平台下Hook技术的比较与应用场景分析

热门文章

最新文章