Android学习——MultiAutoCompleteTextView组件

2023-11-10

1.编辑activity_main.xml文件,添加MultiAutoCompleteTextView组件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/button" />
<!--
android:singleLine="true"设置单行显示,否则会自动换行
android:ellipsize="marquee"之后三个设置都是必须的
android:focusable="true"
android:focusableInTouchMode="true"
-->
    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/text" 
        android:singleLine="true"
        android:ellipsize="marquee"
        android:focusable="true"
        android:focusableInTouchMode="true"/>
<!-- 新添加的内容 -->
    <com.zyy.myapp.MyTextView
        android:id="@+id/textView2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/text" 
        android:singleLine="true"
        android:ellipsize="marquee"
        android:focusable="true"
        android:focusableInTouchMode="true"/>
    <com.zyy.myapp.MyTextView
        android:id="@+id/textView3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/text" 
        android:singleLine="true"
        android:ellipsize="marquee"
        android:focusable="true"
        android:focusableInTouchMode="true"/>
<!--新添加的内容-->
<!--
android:completionThreshold="1"输入一个字符之后自动匹配
-->
    <AutoCompleteTextView
        android:completionThreshold="1"
        android:id="@+id/autoCompleteTextView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="@string/hint" >

        <requestFocus />
    </AutoCompleteTextView>
<!--新添加的内容-->
<!--
android:completionThreshold="1"输入一个字符之后自动匹配
-->
    <MultiAutoCompleteTextView
        android:completionThreshold="1"
        android:id="@+id/multiAutoCompleteTextView1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="@string/hint" />

</LinearLayout>
2.编辑MainActivity.java文件

package com.zyy.myapp;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.Button;
import android.widget.MultiAutoCompleteTextView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{
	//创建Button对象引用变量
	private Button loginButton;
	//创建AutoCompleteTextView对象引用变量
	private AutoCompleteTextView actv;
	//创建MultiAutoCompleteTextView对象引用变量
	private MultiAutoCompleteTextView mactv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //通过id获取对象,该对象是view类型,view是所有组件的父类,转化为Button对象需要进行强转
        loginButton = (Button)findViewById(R.id.button1);
        //添加事件监听
        /*loginButton.setOnClickListener(new OnClickListener(){
			@Override
			public void onClick(View v) {
				//此处不能只用this
				Toast.makeText(MainActivity.this, "哎呀,我被点了一下!", Toast.LENGTH_SHORT).show();
			}
        });*/
        /*loginButton.setOnClickListener(new MyOnClickListener());*/
        loginButton.setOnClickListener(this);
//---AutoCompleteTextView组件---
        //获取AutoCompleteTextView对象
        actv = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
        //创建数组适配器对象
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,
        		R.layout.support_simple_spinner_dropdown_item,
        		new String[]{
        		"张玉尧", "张秀琼", "张馨月", "吴杰"
        });
        //向AutoCompleteTextView对象添加数组适配器
        actv.setAdapter(adapter);
//---MultiAutoCompleteTextView组件---
        //获取MultiAutoCompleteTextView对象
        mactv = (MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1);
        //向MultiAutoCompleteTextView对象添加数组适配器
        mactv.setAdapter(adapter);
        //设置分割标志,实现多次自动补全
        mactv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    }
	@Override
	public void onClick(View v) {
		Toast.makeText(MainActivity.this, "哎呀,怎么老是点我啊!", Toast.LENGTH_SHORT).show();
	}
}

/*class MyOnClickListener implements OnClickListener{
	@Override
	public void onClick(View v) {
		//这个地方出现问题,最后用v.getContext()解决
		Toast.makeText(v.getContext(), "哎呀,我又被点了一下!", Toast.LENGTH_SHORT).show();
	}
}
*/


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

Android学习——MultiAutoCompleteTextView组件 的相关文章

随机推荐

  • 【HDLBits 刷题 5】Circuits(1)Combinational Logic

    目录 写在前面 Combinational Logic Basic Gates Wire GND NOR Another gate Two gates More logic gates 7420 chips Truth table Two
  • render的使用

    在很多前端框架中 render 函数通常接受三个参数 val rec和idx 但具体的参数取决于你的应用框架和用法 通常情况下 val 表示当前要渲染的数据值 通常是当前单元格的值 rec 表示当前行的记录或数据对象 包含了这一行的各个字段
  • 某眼查的逆向

    一 准备 APP 某眼查 版本 11 4 0 工具 xposed FDex2 JustTrustMe Fiddler jadx 二 抓包 打开Fiddler 打开天眼查抓包 开启JustTrustMe能抓到包 我们抓取工商信息这块 查看Fi
  • UE Mesh Generation and Editing at Runtime

    UE Mesh Generation and Editing at Runtime 虚幻运行时和编辑器下生成和编辑 网格体 UE Mesh 虚幻中常用的三种网格体 UProceduralMeshComponent 程序化网格体 UStati
  • Java编写好的全国省市名称

    public class PlaceUtil public static final String place 北京市 市辖区 市辖县 天津市 市辖区 市辖县 安徽省 安庆市 蚌埠市 亳州市 巢湖市 池州市 滁州市 阜阳市 合肥市 淮北市
  • Tomcat设置虚拟主机时候startup闪退问题解决

    1 修改 startup bat 文件 将 call EXECUTABLE start CMD LINE ARGS 中的 start 改为 run 2 在 startup bat 文件的最后增加 pause 3 启动 tomcat 后相应错
  • 渗透学习 Linux基础知识

    你生来就值得被爱 这点你无需质疑 小白入坑学废集2 Linux 介绍 什么是Linux Linux系统结构 Linux常见发行版本 版本问题 磁盘分区表示 硬盘和分区结构 目录结构 目录名 Linux系统常用命令 命令行编辑的几个辅助操作
  • 力扣876. 链表的中间结点(java+python)

    给定一个头结点为 head 的非空单链表 返回链表的中间结点 如果有两个中间结点 则返回第二个中间结点 示例 1 输入 1 2 3 4 5 输出 此列表中的结点 3 序列化形式 3 4 5 返回的结点值为 3 测评系统对该结点序列化表述是
  • 【mysql系列】mysql安装和卸载详细教程

    mysql安装和卸载详细教程 一 安装 1 下载 2 安装 1 编辑 my ini 文件 2 初始化数据库 3 安装数据库 4 启动 mysql 服务 5 登录 mysql 数据库 6 更改密码 二 卸载 1 停止Mysql服务 2 卸载m
  • c 服务器信息 源代码,ftp服务器c源代码

    ftp服务器c源代码 内容精选 换一换 根据各功能的平台依赖性 需要分别准备两套环境 一套x86环境 一套鲲鹏环境 本文实际使用了如表1和表2两套环境 鲲鹏代码迁移工具是一款可以简化客户应用迁移到基于鲲鹏916 920的服务器的过程的工具
  • gta5因为计算机丢失xinput1,xinput1_3.dll_gta5丢失xinput1_3.dll_xinput1_3.dll win10

    xinput1 3 dll官方下载由起点下载免费提供 起点提供xinput1 3 dll官方下载 xinput1 3 dll是Microsoft DirectX for Windows的控制模块 当运行程序或者游戏时 系统弹出错误提示 找不
  • 【c语言】练手:一个简单的图书管理系统

    c语言 练手 一个简单的图书管理系统 最近在学习结构体和结构体指针等内容 为了巩固所学习的内容 于是写了一个简陋的图书管理系统 在敲代码过程中也遇到一些容易忽略的问题 于是记录下来 大家可以给给建议 核心功能主要有3个 录入书籍信息 打印书
  • Android 退出整个程序代码

    今天在网上看见个博客关于退出整个程序的 感觉不错 拿来分享学习 SysApplication这个类复制到工程里面 然后在每个Acitivity的oncreate方法里面通过SysApplication getInstance addActi
  • layui table 字体大小_layui table表格详解

    上次做table有些东西 忘记了 这次当作来个分析总结一下 跟大家共同学习 闲话不多说 直接上例子 代码 layuitable初始化代码 layui use table function var table layui table tabl
  • Https 公钥私钥交换过程

    记录一下Https 公钥私钥加密过程 对称加密 编 解码使用相同密钥的算法 一般是共享密钥 非对称加密 非对称加密算法需要两个密钥 公开密钥 publickey 简称公钥 和私有密钥 privatekey 简称私钥 公钥与私钥是一对 如果用
  • 滤波去噪和小波去噪

    原文 http zhidao baidu com linkurl 7vqgj2oQ4MacZxGLdJXM lTCDdW3TrY6hbeInWeW7NWgcCFjO8qHbbm0U8lONrAanc6BQR7WwJB0GRzgZXZQLK
  • 【云原生&Docker基础篇】Docker的安装与使用(适用于初学者)

    博客首页 派 大 星 欢迎关注 点赞 收藏 留言 本文由派大星原创编撰 系列专栏 Docker 云原生 本系列记录容器化技术的初次探险与深入思考历程 如有描述有误的地方还望诸佬不吝赐教 文章目录 Docker 是什么 Docker的优点 D
  • 机械硬盘分区 最佳性能方案

    原理 机械硬盘的通过磁头读写数据 由于角速度恒定 磁头越靠近外圈 扫描的扇区越多 读写速度越快 3个磁盘分区方案 假设 磁盘半径r 10 内层半径r1 2 5 中层半径r2 5 外层半径r3 7 5 内层面积 s1 r2xr2 r1xr1
  • Android APP 与STM32无线环境控制系统

    本系统为安卓APP的环境参数远程监控系统 以STM32F103单片机作为本设计的中控中心 结合物联网技术 以Android智能手机作为远程控制的客户端 通过8266 WiFi模块实现环境监控系统硬件与Android手机的交互 环境参数的反馈
  • Android学习——MultiAutoCompleteTextView组件

    1 编辑activity main xml文件 添加MultiAutoCompleteTextView组件