AutoCompleteTextView,MultiAutoCompleteTextView 用法举例

AutoCompleteTextView

 按下去变红色

MultiAutoCompleteTextView(用逗号可以添加多个关键字)

AutoCompleteTextView,MultiAutoCompleteTextView都可以在输入时完成匹配。后者是前者的子类,只不过可以匹配多个字符,字符间用“,”来分割。一般我们不用什么高级的adapter来放置数据,直接用ArrayAdapter是个比较好的选择

先看一下他们的属性:

android:completionHint                   下拉列表下面的标题
android:completionHintView           设置下拉菜单中提示标题的视图
android:completionThreshold          设置用户输入多少字符才会出现提示
android:dropDownAnchor               下拉列表的“锚点”或挂载点,如果不设置,则用textView本身作为“锚点”
android:dropDownHeight                下拉列表高度
android:dropDownWidth                 下拉列表宽度
android:dropDownHorizontalOffset 下拉列表距离左边的距离
android:dropDownVericalOffset      下拉菜单和文本之间的垂直偏移量
android:dropDownSelector             下拉列表被选中的行的背景

package com.kale.autocompletetextview;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

public class MainActivity extends Activity {

    AutoCompleteTextView acTv;
    MultiAutoCompleteTextView mcTv;
    String []books = new String[] {
            "android",
            "java",
            "xml",
            "Ant"
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //创建一个adapter来封装数组
        ArrayAdapter<String> aa = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line,books);
        acTv = (AutoCompleteTextView)findViewById(R.id.auto_autoCompleteTv_id);
        acTv.setAdapter(aa);

        mcTv = (MultiAutoCompleteTextView)findViewById(R.id.multi_autoCompleteTv_id);
        mcTv.setAdapter(aa);
        //为其设置分割符
        mcTv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

    }
}

xml文件

<RelativeLayout 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">

    <!-- completionHint设置下拉菜单中的标题 -->
    <!--
            android:completionHint        下拉列表下面的标题
            android:completionHintView  设置下拉菜单中提示标题的视图
            android:completionThreshold 设置用户输入多少字符才会出现提示
            android:dropDownAnchor              下拉列表的“锚点”或挂载点,如果不设置,则用textView本身作为“锚点”
            android:dropDownHeight        下拉列表高度
            android:dropDownWidth        下拉列表宽度
            android:dropDownHorizontalOffset    下拉列表距离左边的距离
            android:dropDownVericalOffset  下拉菜单和文本之间的垂直偏移量
            android:dropDownSelector    下拉列表被选中的行的背景
     -->

    <AutoCompleteTextView
        android:id="@+id/auto_autoCompleteTv_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"

        android:completionHint="这里显示的是提示字符"
        android:dropDownHorizontalOffset="10dp"
        android:dropDownVerticalOffset="10dp"
        android:dropDownHeight="150dp"
        android:completionThreshold="1"
        android:dropDownSelector="#ff0000"
        />

    <MultiAutoCompleteTextView
        android:id="@+id/multi_autoCompleteTv_id"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="80dp"
        android:completionThreshold="1"/>

</RelativeLayout>

AutoCompleteTextView,MultiAutoCompleteTextView 用法举例

时间: 2024-10-28 15:54:40

AutoCompleteTextView,MultiAutoCompleteTextView 用法举例的相关文章

聚集索引与非聚集索引的用法举例与使用注意

聚集索引 用法举例 小明需要查找一个人的姓名,知道他在公司的营销部门的1010办公室的4号座位.这个时候如果需要专门为小明建一个聚集索引表就是,以公司部门表内部门名称排序,再以房间总表序号排序,最后以房间详细表的座位表排序,这样就可以最快的找到他要找的人 聚集索引类似于一个字典,我们知道拼音来寻找字,首先我们知道字音节的首字母,从按a-z排序的字典中找到这个字首字母所在的区域,再从这个区域找到韵母所在的区域,当然韵母在字典中也有顺序,最后就可以找到我们想要的字了 注意事项 限制原则 每个表只能有

c++ 字符串函数用法举例

字符串切割: substr 函数原型: string substr ( size_t pos = 0, size_t n = npos ) const; 解释:抽取字符串中从pos(默认为0)开始,长度为npos的子字串 #include <iostream> #include <string> using namespace std; int main() { string s = "hello"; cout << s.substr() <&

JQuery中serialize()、serializeArray()和param()用法举例

在javascript中,serialize()方法也是作用于一个JQuery对象,它能够将DOM元素内容序列化为字符串,serializeArray()方法不是返回字符串,而是将DOM元素序列化后,返回JSON格式的数据. 服务器端的jsp代码: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% request.setCharacte

android 自动匹配文本 AutoCompleteTextView /MultiAutoCompleteTextView

AutoCompleteTextView:每个文本框只能匹配一次 MultiAutoCompleteTextView:能以分隔符为分割点多次匹配 1 //AutoComplete 的 XML示例 2 <AutoCompleteTextView 3 android:completionThreshold="3" //输入数达到3时开始显示提示 4 android:id="@+id/autoCompleteTextView1" 5 android:layout_w

线程框架Executor的用法举例

java5线程框架Executor的用法举例 Executor 是 java5 下的一个多任务并发执行框架(Doug Lea),可以建立一个类似数据库连接池的线程池来执行任务.这个框架主要由三个接口和其相应的具体类组成.Executor. ExecutorService 和 ScheduledExecutorService . 1. Executor 接口:是用来执行 Runnable 任务的:它只定义一个方法- execute(Runnable command):执行 Ruannable 类型

mysql操作查询结果case when then用法举例

举例1: 使用该查询,得出iFavoriteID,iFavUserType ,cUser,iArticleID,dFavoriteTime五个字段的值: SELECT iFavoriteID,CASE WHEN iFavUserType = 0 THEN '新闻管理员'WHEN iFavUserType = 1 THEN '商家'WHEN iFavUserType = 2 THEN '会员'END AS iFavUserType, cUser, iArticleID,CONVERT(nvarch

sql的游标用法举例(Cursor)

sql的游标用法举例 DECLARE @Name varchar(40), @TrueName varchar(20) Declare authors_cursor Cursor For Select Name,TrueName From Account Open authors_cursor Fetch Next From authors_cursor INTO @Name, @TrueName While @@FETCH_STATUS = 0 Begin Print @TrueName+CO

Android攻城狮CheckBox&amp;RadioGroup&amp;AutoCompleteTextView&amp;MultiAutoCompleteTextView&amp;ToggleButton

给子类加构造函数Source----Generate constractor from superclass 跑马灯效果的实现(Textview 循环): 1.定义textView标签的4个属性: android:singleLine="true"//使其只能单行 android:ellipsize="marquee"//去掉省略号 android:focusable = "true"//得到焦点 android : focusableInTou

NSPredicate 的用法举例

Cocoa 提供了一个名为NSPredicate的类,用于指定过滤器的条件,用NSPredicate描述查询方式,原理类似于在数据库中进行查询.可以在数据库风格的API中使用NSPredicate类,常见的用于Core Data和Spotlight. 本文讲解过程中用到了部分类比如garage(车库的类),car(车)等仅供举例,未列出创建代码,体会predicate的用法才是关键. 创建Predicate. NSPredicate *predicate = [NSPredicate predi