[Android] AutoCompleteTextView:自动完成输入内容的控件

2023-11-03

        AutoCompleteTextView是EditText的直接子类,与普通EditText的最大不同就是,在用户输入的过程中,可以列出可供选择的输入项,方便使用者。

        AutoCompleteTextView与普通EditText控件使用方法类似,只是需要为其指定一个Adapter对象,绑定可供选择的输入项。

        AutoCompleteTextView可实现一次自动完成的功能,而另一个控件MultiAutoCompleteTextView,可以连续多次自动完成,即在通过自动完成一个输入项,接着输入一个分隔符后,继续通过自动完成连续输入多个输入项。只是要使用MultiAutoCompleteTextView类的setTokenizer方法指定分割符。

        两种自动完成输入内容的控件实例如下。


Main.java

package mobile.android.ch05.autotext;

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

public class Main extends Activity
{	
	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		String[] autoString = new String[]
		{ "联合国", "联合国安理会", "联合国五个常任理事国", "bb", "bcd", "bcdf", "Google",
				"Google Map", "Google Android" };
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_dropdown_item_1line, autoString);
		
		// AutoCompleteTextView
		AutoCompleteTextView autoCompleteTextView =
				(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
		autoCompleteTextView.setAdapter(adapter);     // 绑定adapter
		
		// MultiAutoCompleteTextView
		MultiAutoCompleteTextView multiAutoCompleteTextView =
				(MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);
		multiAutoCompleteTextView.setAdapter(adapter);
		multiAutoCompleteTextView
				.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
	}
}


main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<TextView
	    android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="AutoCompleteTextView" />
	<AutoCompleteTextView
	    android:id="@+id/autoCompleteTextView"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />
	<TextView
	    android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:text="MultiAutoCompleteTextView" />
	<MultiAutoCompleteTextView
	    android:id="@+id/multiAutoCompleteTextView"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />
</LinearLayout>

                 程序运行效果如下图


rr 的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[Android] AutoCompleteTextView:自动完成输入内容的控件 的相关文章

随机推荐

  • Ubuntu20-04下配置Nvidia显卡驱动-CUDA-CUDNN

    Ubuntu20 04下配置Nvidia显卡驱动 CUDA CUDNN 本文主要记录在Ubuntu20 04系统下配置显卡驱动以及配置CUDA CUDNN 1 配置介绍 CPU 11th Gen Intel Core i7 11700 GP
  • 数据分析之-特征构造

    数据分析机器学习中有句俗话 数据和特征决定了机器学习的上限 而模型和算法只是逼近这个上限而已 可见数据和特征的重要性 但实际项目中 数据源的质量和数量往往是不能改变的 但数据的特征却是数据分析师可以深入挖掘的 决定一个数据挖掘模型甚至项目的
  • 计蒜客T1612——蒜头君的数字游戏

    水题 太简单不解释 记得别把多余的0输入就行 由于没有明确的循环次数 本题用while循环更适合一些 include
  • Linux字符设备驱动入门

    文章目录 一 驱动模块的加载和卸载 二 字符设备注册与注销 三 实现设备的具体操作函数 四 添加 LICENSE 和作者信息 总结 设备树的使用 一 驱动模块的加载和卸载 module init xxx init 注册模块加载函数 modu
  • 利用Python+opencv+TensorFlow框架打造 一个试卷批改系统

    本文编程采用Python语言 结合opencv库对图像进行处理 再利用TensorFlow框架下卷积神经网络 实现一个初步的简易试卷批改系统 实现一个试卷批改系统 我将它主要分成俩个模块 第一个模块是图像识别 第二个模块是利用机器学习训练模
  • 2.mtcnn人脸检测

    mtcnn是构建图像金字塔来进行目标检测 gt gt gt gt gt 为什么只有按原图缩小 我觉得也可以搞按比例放大 将这些放大缩小图一起用网络来提取特征 会不会效果更好 1 网络结构 from tensorflow keras laye
  • python爬虫基础 --爬取股吧前十页数据

    新建文件夹 guba 爬取的十页数据会自动存到guba文件夹下 import requests import os for i in range 10 base url http guba eastmoney com default 99
  • Windows10 Docker安装详细教程

    Windows10 Docker安装详细教程 思维导航 前言 Docker Desktop是什么 Dokcer Desktop下载 启用Hyper V以在 Windows 10上创建虚拟机 安装Docker Desktop 配置阿里云镜像加
  • anaconda出现NotWritableError: The current user does not have write permissions to a required path.报错解决

    在安装pytorch时可能会出现NotWritableError The current user does not have write permissions to a required path path Users 的情况 其主要原
  • 关于select函数超时时间问题

    关于select函数超时时间问题 select函数使用 int select int n fd set readfds fd set writefds fd set exceptfds struct timeval timeout 具体参数
  • 【Git】MacOS 安装Beyond Compare插件和配置

    环境是已经安装了homebrew 打开终端 输入 brew install cask beyond compare 需要等一段时间 显示安装成功 之后要去修改 gitconfig 它本来是隐藏的 可以通过ll a发现隐藏文件 输入vi gi
  • 用心整理了6个用电脑就能做的兼职,让你在家增加收入

    在当今信息化的时代 通过电脑进行各种网上兼职已经成为了一种普遍的现象 在电脑上兼职工作 不仅可以帮助人们实现财务自由 而且还可以在家中轻松实现 下面就给大家分享6个在家就可实现的赚钱方法 让你利用业余时间挣取更多的收入 1 百度知道合伙人
  • python刷题第九周

    第一题 第6章 7 找出总分最高的学生 15 分 给定N个学生的基本信息 包括学号 由5个数字组成的字符串 姓名 长度小于10的不包含空白字符的非空字符串 和3门课程的成绩 0 100 区间内的整数 要求输出总分最高学生的姓名 学号和总分
  • 为什么C ++在嵌入式系统设计中是C的可行替代品

    你是一名 你知道C是适合该工作的语言 尽管有时维护周期可以重复很长时间 有时你会感到that琐 就像在编码自动机一样 反复在结构上创建基本迭代 这些结构与上周或上个月的结构非常相似 你已经听说过C 作为一种功能强大的语言的销售趋势 但是你也
  • 零基础大厂实习面经

    菜鸡的准备之路 3月开始准备找实习 现在4月一号 应该是能拿到阿里本地生活的Java研发岗offer 这些天来也算是辛苦了 为了后人能够好避坑 写下些许面经 接下来我将从数据结构与算法 语言基础 计算机网络 和操作系统四个主要方向讲起 基础
  • 【pytharm导入python移植环境遇见Invalid Python SDK问题】

    pytharm导入python移植环境遇见Invalid Python SDK问题 Invalid Python SDK 解决方法 Invalid Python SDK 在学习工作中 我们可能会遇到将自己的工作python环境移入到另一个位
  • Android校招复习全书(1)-j2se

    一 九种基本数据类型的大小 以及他们的封装类 关于JAVA基本数据类型 名称 解释 长度 位 默认值 封装类 byte 字节 8 0 Byte shot 短整型 16 0 Short int 整型 32 0 Integer long 长整型
  • uni-app暂时不兼容v-for深度传参的问题【在APP中,v-for内部作用域元素无法深度访问v-for的变量】【这个问题H5支持,但是uni-app不兼容,哎.......】

    uni app之app平台 由于v for中的token和index在 v bind对象动态绑定的时候 访问不到 所以下面这段代码运行会报错 uni app之H5平台 H5对v fortoken和index子组件深度访问支持良好 uni a
  • unity,欧拉角

    介绍 在Unity中 欧拉角 Euler Angles 用于描述物体的旋转状态 它由三个角度组成 通常是俯仰角 Pitch 偏航角 Yaw 和翻滚角 Roll 在Transform组件中 可以通过eulerAngles属性获取或设置物体的欧
  • [Android] AutoCompleteTextView:自动完成输入内容的控件

    AutoCompleteTextView是EditText的直接子类 与普通EditText的最大不同就是 在用户输入的过程中 可以列出可供选择的输入项 方便使用者 AutoCompleteTextView与普通EditText控件使用方法