Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView

以在搜索框搜索时,自动补全为例:

其中还涉及到一个词,Tokenizer:分词器,分解器。

上效果图:

MainActivity.java:

package com.joan.testautocomletetextview; import android.R.array; import android.os.Bundle; import android.app.Activity; import android.content.res.Resources; import android.view.Menu; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; import android.widget.MultiAutoCompleteTextView.Tokenizer; public class MainActivity extends Activity { AutoCompleteTextView actv; MultiAutoCompleteTextView mactv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); actv = (AutoCompleteTextView) findViewById(R.id.actv); mactv = (MultiAutoCompleteTextView) findViewById(R.id.mactv); // 取到Strings.xml中定义的数组 String[] names = this.getResources().getStringArray(R.array.names); // 适配器 // 第三个参数是数据源 // 第二个参数是样式资源的id ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, names); // =============只能选择单个的自动补全===================== actv.setAdapter(adapter); // =============可选择多个的自动补全===================== // Tokenizer分词器,分解器 // MultiAutoCompleteTextView.CommaTokenizer();这个简易的分解器可用于对由逗号和若干空格分割的列表进行分解. Tokenizer t = new MultiAutoCompleteTextView.CommaTokenizer(); mactv.setAdapter(adapter); mactv.setTokenizer(t); } }

strings.xml:

<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">TestAutocompleteTextView</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string> <!--定义一个数组 --> <string-array name="names"> <item >zhangyu</item> <item >zhangxinzhe</item> <item >zhangxingxing</item> <item >liudehua</item> <item >liuyi</item> </string-array> </resources>

activity_main.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="只可选择单个" /> <!--AutoCompleteTextView 自动补全,只能选择一个值 android:completionThreshold="1" 输入第一个字后自动补全 --> <AutoCompleteTextView android:id="@+id/actv" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入搜索的名字" android:completionThreshold="1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="可选择多个" /> <!--MultiAutoCompleteTextView 可以选择多个值 --> <MultiAutoCompleteTextView android:id="@+id/mactv" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="请输入搜索的名字" android:completionThreshold="1" /> </LinearLayout>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

时间: 2024-09-28 04:58:59

Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView的相关文章

Eclipse自动补全功能轻松设置 || 不需要修改编辑任何文件

本文介绍如何设置Eclipse代码自动补全功能.轻松实现输入任意字母均可出现代码补全提示框.   Eclipse代码自动补全功能默认只包括 点"."  ,即只有输入"."后才出现自动补全的提示框.想要自动补全总是去按 "Alt + / "也很麻烦. 其实只需简单在Eclipse中进行设置即可实现输入任意及符合自动出现自动补全提示框.    具体设置步骤如下: 选择Eclipse菜单条中的Windows菜单下的Preferences项 在左侧找到&

实例讲解Android中的AutoCompleteTextView自动补全组件_Android

AutoCompleteTextView是一个具有自动补全功能的EditView,当用户输入数据后,AutoCompleteTextView就会将用户输入的数据与他自己的adapter中的数据对比,如果用户数据与adapter中的某条数据的开始部分完全匹配,那么adapter中的这条数据就会出现在下拉提示框中. 其常用属性定义如下 <AutoCompleteTextView android:id="@+id/mp002_top_place_input" android:layou

实例讲解Android中的AutoCompleteTextView自动补全组件

AutoCompleteTextView是一个具有自动补全功能的EditView,当用户输入数据后,AutoCompleteTextView就会将用户输入的数据与他自己的adapter中的数据对比,如果用户数据与adapter中的某条数据的开始部分完全匹配,那么adapter中的这条数据就会出现在下拉提示框中. 其常用属性定义如下 <AutoCompleteTextView android:id="@+id/mp002_top_place_input" android:layou

jquery 实现输入邮箱时自动补全下拉提示功能_javascript技巧

记得去年做某个项目的时候,用到了邮箱输入自动提示功能,于是网上搜了一下,发现了这个写得不错,现在回想起来,转载一下,方便查阅. 邮箱的广泛使用得益于它的免费,因此很多网站在注册的时候都会直接使用邮箱作为账号名 为了提高用户的体验,很多网站都会实现邮箱输入的自动提示功能. 实现效果如图所示: 核心代码(需要jquery的支持): (function($){ $.fn.mailAutoComplete = function(options){ var defaults = { boxClass: "

《jQuery、jQuery UI及jQuery Mobile技巧与示例》——7.2 技巧:使用自动补全微件提示输入值

7.2 技巧:使用自动补全微件提示输入值 在一些网站上,你可以找到用于选择的下拉菜单,它们包含了极长的选项列表.在许多情况下,可以使用具有自动补全功能的输入框取代下拉式菜单来帮助用户.省去了滚动选择,用户只要输入目标选项的第一个字符,然后自动补全组件便可以完成剩下的事. 代码清单7-2提供了一个自动补全的例子,它使用一段称为"Lorem Ipsum"的文字来实现输入第一个字后的补全.这段文字起源于两千年前,但仍然使用在图形设计和排版行业(通常被称为"假文"或&quo

前端开发工具-visual studio code中html文档中输入script代码自动补全问题

问题描述 visual studio code中html文档中输入script代码自动补全问题 请问各位大神,怎么配置visual studio code(vsd)才能在html文档中插入script脚步有 自动补全的功能!!!开发工具-visual studio code中html文档中输入script代码自动补全问题-visual studio 补全"> 但是,如何在html中的script标签内实现补全 解决方案 visual studio 代码自动补全 与快捷键如何在Visual

jQuery实现文本框邮箱输入自动补全效果_jquery

  邮箱自动完成的效果在网站上大多都看过,但是质量参差不齐,今天突然在网上看到一篇博客,感觉这个插件很好,就想来写一下分享给大家!  效果图如下: 完整demo代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="

搜狗五笔输入法怎么设置在输入网址邮箱时自动补全?

  搜狗五笔输入法怎么设置在输入网址邮箱时自动补全?现在我就来为大家说明一下如何操作. 相关推荐:搜狗五笔输入法怎么设置空码时取消输入? 1.打开搜狗五笔输入法,点击选择状态栏里的[设置]按钮.(如图所示) 2.在[设置]菜单下,点击选择[设置属性]选项.(如图所示) 3.在[设置]选项下,点击选择[高级]--勾选[网址.邮箱自动补全]--[应用]选项完成设置.(如图所示)

ajax-我想输入商品名称,自动补全助记码??

问题描述 我想输入商品名称,自动补全助记码?? 现在我有一个商品名称的输入框,我想输入完商品名称,离开的时候,就会自动补全助记码,就是商品名称拼音字头???在网页上 解决方案 http://blog.csdn.net/it_wangxiangpan/article/details/6361392