AutoCompleteTextView与自定义Adapter实现自动补全

Android自定义AutoCompleteTextView控件开发指南 是 Android 提供的一个增强型输入控件,继承自EditText,具备自动补全建议功能。它通过下拉列表展示匹配项,提升用户输入效率。例如,在 XML 布局文件中定义如下:android:hint="输入关键词" />在 Java/Kotlin 中,可以绑定一个字符串数组适配器,并设置最少输入字符数触发建议:autoCompleteTextView.threshold = 1 // 输入1个字符后开始提示在Android开发中,适配器(Adapter)是连接数据源与UI组件的重要桥梁。 阅读详情

AutoCompleteTextView继承自TextView,是一种可以实现自动补全的功能的TextView。先看效果:
最终效果
该功能在目前很常见,例如在用户进行登录的时候或者注册的时候都用到了这种功能,在Android中这样的效果我们可以借助AutoComleteTextView来实现。
为了实现补全功能AutoCompleteTextView需要和Adapter(适配器)一起使用。Android为我们封装好了一些简单的适配器可以直接使用,当然我们也可以使用自定义的适配器来进行补充。
先从简单的开始,我们直接使用Android系统为我们提供的适配器来实现补全功能:

1、 先在xml文件中添加AutoCompleteTextView控件

    <AutoCompleteTextView
        android:id="@+id/autoCompeteTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入用户名"
        android:inputType="number"/>

注意inputType属性是在这里申明了该控件只接受数字型的数据输入。

2、在java文件中申明并获取该控件

    private AutoCompleteTextView autoCompleteTextView;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_atctextview);
        autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.autoCompeteTextView);

    }

3、为AutoCompleteTextView设置适配器

 autoCompleteTextView.setThreshold(1);
 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,test);
        autoCompleteTextView.setAdapter(adapter);

setThreshold()方法是设置当用户输入多少字符时开始进行提示,不写这个方法也行,默认的设置为2。
在new ArrayAdapter时需要传入三个参数。
第一个参数是当前的上下文,暂且不提。
第二个参数是显示提示时的View,在这里我们传入的是系统为我们提供好的一个xml布局文件,在该xml布局文件里只有一个TextView控件。
第三个参数是我们设置的提示数据,当用户的输入和我们传入的提示数据匹配时,才会出现补全提示。
在这里我设置的提示数据是一个String数组

    private String[] test = {
  
  "123","234","345","456"};

整体代码如下:

    private AutoCompleteTextView autoCompleteTextView;
android使用AutoCompleteTextView自定义适配器样式 AutoCompleteTextView大多是采用ArrayAdapter进行适配的,这种有时候并不能满足我们的需求,所以就有了这个demo 立即下载

相关推荐

MS建模mmt

一、流程:1.定义好每个原子力场类型:Edit Sets(分组) 2.加H(一般是仅与Al-O八面体中的Al相连的O原子)、给H分组 3.“make P1”、校核化学式(正确与否) 4.扩成超晶胞(Na-mmt:4*1*1,Ca-mmt:4*2*1,illite:2*1*1,由化学式而定) 5.置换阳离子: mmt:模型中每 32 个 Si 4+有 1 个被 Al 3+ 取...

weixin_30721899的博客 2174

ansys workbench 静力结构分析 高阶教程

ansys workbench 静力结构分析 高阶教程 目录ansys workbench 静力结构分析 高阶教程新建工程模型导入设置材料模型简化: 主要内容: 材料设置、模型简化、网格细化、约束分析、接触设置、求解设置、报错处理、结果分析 基础教程: ansys workbench 静力结构分析 基础操作流程(入门) ansys版本: 19.0(16.0及以上均可) 参考资料: 推荐教学视频《有限元分析 张晔》(超详细 ???? )、ansys workbench 超级学习手册(查阅用) 说明:一些基

weixin_43434624的博客 5万+

吃透 AM32 无人机电调:从源码架构到工作原理的全方位解析(附实践指南)(上)

本文深入解析了AM32电调固件的源码架构与核心模块实现。文章首先介绍了AM32电调作为开源无人机;动力心脏的重要地位,随后从硬件基础、源码目录、模块划分三个维度构建解析框架。重点剖析了系统初始化模块的时钟配置、GPIO初始化和定时器设置,以及FOC控制模块的坐标变换算法、角度估算和SVPWM生成等关键技术实现。通过逐行代码解析,揭示了电调如何将飞控指令转换为电机驱动的完整过程,为开发者理解AM32电调工作原理提供了系统性指导。

bother3000的博客 6563

SAP期初库存导入 (1)

LSMW

IT养家 7191

使用VIVADO 2019.1 搭建以太网接口

以太网 MAC+SGMII->GMII接口转换 以FPGA V7为例,搭建一个千兆以太网接口。运行环境为Vivado2019.1。板卡的FPGA V7与千兆网口芯片采用SGMII互联,最终实现FPGA与上位机之间的千兆网卡通信,实际实现时,V7采用MAC + GMII ->SGMII的结构。SGMII接口使用1G/2.5G Ethernet PCS/PMA or SGMII ip核,MAC层使用Tri Mode Ethernet MAC ip核。 由于MAC层IP不支持SGMII接口,因此需要G

qq_44641513的博客 8415

Ambari 安装部署教程(手把手教学)【超级详细】

本文为读者提供了一套超详细的 Apache Ambari 安装部署教程,采用手把手教学方式,适合初学者及大数据运维人员。内容涵盖前期准备、环境配置、Ambari Server 与 Agent 安装、集群初始化配置、常见问题排查等全流程操作,确保用户能够顺利搭建稳定的 Hadoop 大数据平台管理系统。

Five的博客 1万+

电阻抗成像肺功能测试数据分析与直方图生成

本文介绍了基于MATLAB的电阻抗成像(EIT)肺功能测试数据分析方法。研究针对32×32像素的EIT图像序列,通过三步算法处理:首先计算特定时间点与谷值图像的差值,然后分析1秒后峰值与1秒值的差值,最终计算比值矩阵并处理异常值。系统展示了数据预处理、关键时间点检测、比值计算及统计分析的全流程,包括生成概率分布直方图和空间分布图等可视化方法。该分析为无创肺功能评估提供量化指标,可应用于临床呼吸监测和疾病诊断。

huanghm88的专栏 197

爆肝5万字❤️Open3D 点云数据处理基础(Python版)

本文为Open3D 点云数据处理基础教程(Python版),小白也能轻松上手!还等什么呢,学起来!

孙悟空 13万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

上一篇: FileProvider控件的使用
下一篇: RecyclerView自定义动画学习记录
zln2016930
博客等级 码龄12年 11粉丝 4原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值