游乐游手机版
首页/系统平台/文章详情

AutoCompleteTextView自动完成文本框基本使用教程

时间:2026-08-13 19:12
本节引言: 这一节继续讲 Adapter 相关控件,这次的主角是 AutoCompleteTextView,也就是自动完成文本框。说到这里,细心的同学应该已经能发现一个规律:凡是和 Adapter 绑定的控件,item 样式通常都可以自定义。也就是说,每个条目使用什么布局、展示成什么效果,灵活度都很

本节引言:

这一节继续讲 Adapter 相关控件,这次的主角是 AutoCompleteTextView,也就是自动完成文本框。说到这里,细心的同学应该已经能发现一个规律:凡是和 Adapter 绑定的控件,item 样式通常都可以自定义。也就是说,每个条目使用什么布局、展示成什么效果,灵活度都很高。好了,先不绕弯子,直接进入本节内容。顺手把官方 API 也放在这里:AutoCompleteTextView

1.相关属性:

  • android:completionHint:设置下拉提示框中的提示标题
  • android:completionHintView:定义提示视图中显示的下拉菜单
  • android:completionThreshold:指定用户至少输入多少个字符后才显示提示
  • android:dropDownAnchor:设置下拉菜单的定位“锚点”组件,如果没有指定该属性,将默认使用该 TextView 作为定位“锚点”组件
  • android:dropDownHeight:设置下拉菜单的高度
  • android:dropDownWidth:设置下拉菜单的宽度
  • android:dropDownHorizontalOffset:指定下拉菜单与文本之间的水平间距
  • android:dropDownVerticalOffset:指定下拉菜单与文本之间的竖直间距
  • android:dropDownSelector:设置下拉菜单点击效果
  • android:popupBackground:设置下拉菜单的背景

另外,还有一个MultiAutoCompleteTextView(多提示项自动完成文本框),它和 AutoCompleteTextView 的用途基本接近,相关属性也差不多。那它们到底有什么区别?别着急,下面结合代码来实际感受一下。顺带一提,这两个控件默认都是按整词匹配的。比如有一项是“小猪猪”,输入“小”时会出现“小猪猪”的提示,但如果输入“猪猪”,它反而不会把“小猪猪”匹配出来。

2.代码示例:

运行效果图:

实现代码:

这里就不自定义布局了,直接使用 ArrayAdapter 来实现。

布局文件:activity_main.xml:




MainActivity.ja va:

public class MainActivity extends AppCompatActivity {
private AutoCompleteTextView atv_content;
    private MultiAutoCompleteTextView matv_content;
private static final String[] data = new String[]{
            "小猪猪", "小狗狗", "小鸡鸡", "小猫猫", "小咪咪"
    };
@Override
    protected void onCreate(Bundle sa vedInstanceState) {
        super.onCreate(sa vedInstanceState);
        setContentView(R.layout.activity_main);
        atv_content = (AutoCompleteTextView) findViewById(R.id.atv_content);
        matv_content = (MultiAutoCompleteTextView) findViewById(R.id.matv_content);
ArrayAdapter adapter = new ArrayAdapter(MainActivity.
                this, android.R.layout.simple_dropdown_item_1line, data);
        atv_content.setAdapter(adapter);
ArrayAdapter adapter2 = new ArrayAdapter(getApplicationContext(), android.R.layout.simple_dropdown_item_1line, data);
        matv_content.setAdapter(adapter);
        matv_content.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    }
}

部分代码分析:

  1. android:completionThreshold="1":这里设置为输入一个字就显示提示
  2. android:completionHint="请输入搜索内容":这是框框底部显示的文字,如果觉得不美观,可以通过 android:completionHintView 设置一个 View
  3. android:dropDownHorizontalOffset="5dp":设置水平边距为 5dp
  4. matv_content.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); setTokenizer 是为其设置分隔符

3.示例代码下载:

AutoCompleteTextViewDemo.zip

本节小结:

本节给大家介绍了 AutoCompleteTextView(自动完成文本框),整体非常简单。大家可以根据实际开发需求自行扩展。好了,就说这么多,谢谢~

来源:https://www.runoob.com/w3cnote/android-tutorial-autocompletetextview.html
上一篇Android ExpandableListView可折叠列表基本使用教程 下一篇Android Spinner列表选项框基本使用教程与示例
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
VMware安装Ubuntu完整教程:创建虚拟机与启动验证
系统平台 · 2026-09-01

VMware安装Ubuntu完整教程:创建虚拟机与启动验证

本教程详细演示如何在VMware中创建Ubuntu虚拟机,涵盖ISO挂载、硬件配置、安装向导及启动验证。通过清晰的步骤与验证命令,帮助新手快速搭建可用的Linux学习环境。

Win10专业版U盘安装教程:制作启动盘与完整安装步骤
系统平台 · 2026-09-01

Win10专业版U盘安装教程:制作启动盘与完整安装步骤

本文提供Win10专业版U盘安装完整流程:准备8GB以上U盘与官方镜像,制作启动盘并核对盘符;通过F12 F11 Esc等快捷键或BIOS设置U盘为第一启动项;安装时选择专业版并谨慎分区;完成后在“设置—系统—关于”验证版本与激活状态。操作前务必备份数据。

Windows10系统字体太小怎么调大
系统平台 · 2026-08-27

Windows10系统字体太小怎么调大

Windows10系统字体太小怎么调大?只需两步:首先打开设置中的显示选项,将缩放比例调整为125%或150%;随后运行ClearType文本调谐器优化字体清晰度。此方法适用于高分屏及普通屏幕,无需修改注册表即可解决界面拥挤问题。

Win10磁盘占用100%基础排查:从监控到清理的完整步骤
系统平台 · 2026-08-27

Win10磁盘占用100%基础排查:从监控到清理的完整步骤

Windows 10系统出现磁盘占用100%会导致电脑卡顿、程序响应缓慢。本文提供基础排查方案:首先通过任务管理器确认是否为磁盘高负载,随后进入系统存储页面分析C盘占用类别,最后针对性清理临时文件。遵循此流程可有效缓解磁盘压力,避免盲目重装系统。

Windows10系统怎么显示此电脑和控制面板
系统平台 · 2026-08-27

Windows10系统怎么显示此电脑和控制面板

Windows10默认可能不显示桌面图标,导致找不到“此电脑”和“控制面板”。只需进入个性化设置,在“桌面图标设置”中勾选对应选项即可恢复。本文提供详细图文步骤,帮助快速找回系统入口。