Android实现动态自动匹配输入内容

 更新时间:2018年08月10日 08:36:37   作者:流年若逝  
这篇文章主要为大家详细介绍了Android实现动态自动匹配输入内容,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Android实现动态自动匹配的控件主要有MultiAutoCompleteTextView和AutoCompleteTextView

MultiAutoCompleteTextView:

可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配

可用在发短信,发邮件时选择联系人这种类型当中,使用时需要执行设置分隔符方法.

AutoCompleteTextView:

支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据

两个控件都可以很灵活的预置匹配的那些数据,并且可以设置输入多少值时开始匹配等等功能

效果图如下

输入相应的字符就会出现相应的提示,具体操作如下

在MainActivity.java中

package com.example.myapplication;
 
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
 
public class MainActivity extends AppCompatActivity {
  //初始化控件
  private AutoCompleteTextView autoCompleteTextView;
  private MultiAutoCompleteTextView multiAutoCompleteTextView;
  //初始化数据源
  private String [] res = {"biejing","nangchang","chengdu","shanghai"};
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    /**
     * AutoCompleteTextView的用法
     */
    autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.auto_textView);
    //创建适配器
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);
    //将adapter与autoCompleteTextView绑定
    autoCompleteTextView.setAdapter(adapter);
 
    /**
     * MultiAutoCompleteTextView的用法
     */
    multiAutoCompleteTextView = (MultiAutoCompleteTextView) findViewById(R.id.mauto_textView);
    //将adapter与multiAutoCompleteTextView绑定
    multiAutoCompleteTextView.setAdapter(adapter);
    //设置以逗号为分隔符结束的符号
    multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
 
  }
}

在activity_layout.xml中

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:id="@+id/activity_main"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="com.example.myapplication.MainActivity"
  android:orientation="vertical"
  >
 
  <AutoCompleteTextView
    android:completionThreshold="3"
    android:id="@+id/auto_textView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="请输入关键字"
    />
  <MultiAutoCompleteTextView
    android:hint="请输入多个关键字"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/auto_textView"
    android:id="@+id/mauto_textView" />
 
</RelativeLayout>

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android仿微信布局的实现示例

    Android仿微信布局的实现示例

    本文主要介绍了Android仿微信布局的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • Android NavigationBar问题处理的方法

    Android NavigationBar问题处理的方法

    本篇文章主要介绍了Android NavigationBar问题处理的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 简单仿写Android控件SlidingMenu的实例代码

    简单仿写Android控件SlidingMenu的实例代码

    下面小编就为大家分享一篇简单仿写Android控件SlidingMenu的实例代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • RecyclerView使用payload实现局部刷新

    RecyclerView使用payload实现局部刷新

    这篇文章主要为大家详细介绍了RecyclerView使用payload实现局部刷新,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 浅析Android文件存储

    浅析Android文件存储

    本文详细介绍了android的外部存储和私有存储。大家在有保存文件的需求的时候,根据自己的需要,选择到底是存在哪里比较合适。内部存储相对较小,不介意把一些大文件存在其中。应该存在外部存储会更好。对于可以给其他文件访问的,可以存在外部存储的公有文件里面
    2021-06-06
  • 图解 Kotlin SharedFlow 缓存系统及示例详解

    图解 Kotlin SharedFlow 缓存系统及示例详解

    这篇文章主要为大家介绍了图解 Kotlin SharedFlow 缓存系统及示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Kotlin操作符重载实例详解

    Kotlin操作符重载实例详解

    Kotlin允许我们为自己的类型提供预定义的一组操作符的实现,下面这篇文章主要给大家介绍了关于Kotlin操作符重载的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • Android 组件Gallery和GridView示例讲解

    Android 组件Gallery和GridView示例讲解

    本文主要讲解Android 组件Gallery和GridView,这里详细介绍组件Gallery和GridView的知识要点,并附示例代码和实现效果图,有兴趣的小伙伴可以参考下
    2016-08-08
  • Android仿IOS10圆盘时间选择器

    Android仿IOS10圆盘时间选择器

    这篇文章主要为大家详细介绍了Android仿IOS10圆盘时间选择器,自定义圆盘时间选择器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Flutter开发之Shortcuts快捷键组件的用法详解

    Flutter开发之Shortcuts快捷键组件的用法详解

    在桌面端的开发中,键盘快捷键是非常常见而必要的,Flutter 既然可以开发桌面端应用,那必然要提供自定义快捷键,所以本文就来和大家讲讲Shortcuts组件的简单使用吧
    2023-05-05

最新评论