Android的自动完成文本框-android学习之旅(二十六)

AutoComplicatedTextView简介

AutoComplicatedTextView是从EditText派生出来的,可以使用EditText的所有的属性。当用户输入一定的内容后,会有提示,选中后自动填充。顺便介绍一下MultiAutoComplicatedTextView,和上面的用法基本相似,只是可以输入多个提示项,然后用分隔符隔开,用setTokenize()设置分隔符。

属性介绍

代码

package peng.liu.testview;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.MultiAutoCompleteTextView;
import android.widget.SimpleAdapter;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MainActivity extends Activity {
    private AutoCompleteTextView auto;
    private MultiAutoCompleteTextView mauto;
    private String[] names = new String[]{"hello","world","java","android"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,names);
        auto = (AutoCompleteTextView) findViewById(R.id.auto);
        mauto = (MultiAutoCompleteTextView) findViewById(R.id.mauto);
        auto.setAdapter(adapter);
        mauto.setAdapter(adapter);
        mauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    }
}
<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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context=".MainActivity"
    android:orientation="vertical">
   <AutoCompleteTextView
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:id="@+id/auto"
       android:completionHint="选择喜欢的图书"
       android:dropDownHorizontalOffset="10dp"
       android:completionThreshold="1"/>
    <MultiAutoCompleteTextView
        android:id="@+id/mauto"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:completionThreshold="1"/>

</LinearLayout>
时间: 2024-10-05 03:22:42

Android的自动完成文本框-android学习之旅(二十六)的相关文章

winform学习日志(二十六)----------控件treeview使用

一:实现功能,获得选中节点,在选中节点下添加节点,折叠,展开,删除,得到选中节点下checked项,选中根节点其下节点也选中,图标.上图 二:相关代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windo

android脚步---自动完成文本框

自动完成文本框AutoCompleteTextView,当用户输入一定字符时,自动完成文本框会显示一个下拉菜单,供用户选择,设置一个Adapter,该Adapter中封装了AutoCompleteTextView预设的文本 main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/too

【Java学习笔记之二十六】深入理解Java匿名内部类

在[Java学习笔记之二十五]初步认知Java内部类中对匿名内部类做了一个简单的介绍,但是内部类还存在很多其他细节问题,所以就衍生出这篇博客.在这篇博客中你可以了解到匿名内部类的使用.匿名内部类要注意的事项.如何初始化匿名内部类.匿名内部类使用的形参为何要为final. 一.使用匿名内部类内部类 匿名内部类由于没有名字,所以它的创建方式有点儿奇怪.创建格式如下: new 父类构造器(参数列表)|实现接口() { //匿名内部类的类体部分 } 在这里我们看到使用匿名内部类我们必须要继承一个父类或者

android布局-android学习之旅(十六)

简介 相对布局的组件是由兄弟组件和父组价决定的,因此这种布局被称为相对布局. 属性设置介绍 RelativeLayout.Layoutparam中只能设置为true和false的属性是: 需要依赖其他组件Id设置的属性: 除此之外,RelativeLayout还可以使用viewGroup.MarginLayoutparams的属性. 梅花布局的实例 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android

VB.net学习笔记(二十六)线程的坎坷人生

线程可以处于一个或多个状态,由ThreadState枚举表示.使用Thread类中的一些方法后状态会随之变化.枚举成员如下: 线程的生存期如下: 一.线程睡眠 若线程想要访问的资源不可使用,只能期望隔段时间后,重新尝试讯问资源,这时就要让该线程睡眠等待,线程就会处WaitSleepJoin状态. Imports System.Threading Public Class ThreadSleep Public Shared worker As Thread Public Shared worker

Dynamic CRM 2013学习笔记(二十六)Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色

上次介绍过CRM里开始报表的一些注意事项:Dynamic CRM 2013学习笔记(十五)报表入门.开发工具及注意事项,本文继续介绍报表里的一些动态效果:动态显示参数,参数是从数据库里查询出来的:参数可以多选或全选:动态地显示列,列不是固定的:根据某一字段的值来动态地显示整行字体的颜色. 下面介绍详细的方法: 一.动态参数.参数多选全选 动态参数: 首先定义一个Dataset: SELECT DISTINCT new_countryId, new_codename AS name FROM ne

Java学习总计(二十六)——JavaScript正则表达式,Js表单验证,原生js+css页面时钟

一.JavaScript正则表达式1.exec检索字符串中指定的值,返回找到的值,并确定其位置2.test检索字符串中指定的值,返回true或false3.正则表达式对象的创建:(1)方式一:Var rgex=new RegExp("[0-9]","模式");(2)方式二:简便写法,用双斜杠//把正则表达式的内容括起来例1(正则创建,使用test()方法): <!DOCTYPE html> <html> <head> <me

HTML5学习笔记(二十六):JavaScript的错误处理

错误相关的调试和处理在开发中是特别重要的一种技能. try-catch 我们来看下面的情况: 1 // noneFunc 这个方法并不存在 2 window.noneFunc(); 3 // js 报错后终止运行这行代码并不会执行到 4 console.log("hello"); 为了避免不继续执行后续代码的情况,可以对可能抛出错误的代码使用try-catch命令包围. 1 try { 2 // noneFunc 这个方法并不存在 3 window.noneFunc(); 4 } ca

嵌入式Linux驱动学习之路(二十六)DM9000C网卡驱动程序

基于DM9000C的原厂代码修改dm9000c的驱动程序. 首先确认内存的基地址 iobase. 确定中断号码. 打开模块的初始化函数定义. 配置内存控制器的相应时序(结合DM9000C.C的手册). 程序代码: /* dm9ks.c: Version 2.08 2007/02/12 A Davicom DM9000/DM9010 ISA NIC fast Ethernet driver for Linux. This program is free software; you can redi