Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究

在Android中提供了俩种智能输入框,它们是MultiAutoCompleteTextView、AutoCompleteTextView。它们的功能大致一样。下面详细介绍一下。

  一、AutoCompleteTextView

  1.简介

      一个可编辑的文本视图显示自动完成建议当用户键入。建议列表显示在一个下拉菜单,用户可以从中选择一项,以完成输入。建议列表是从一个数据适配器获取的数据。

  2.重要方法

      clearListSelection():清除选中的列表项

      dismissDropDown():如果存在关闭下拉菜单

      getAdapter():获取适配器

  3.实例

  (1)布局文件

    <AutoCompleteTextView android:id="@+id/edit"
                  android:layout_width="match_parent" android:layout_height="wrap_content" />

   (2)程序

    实例化适配器

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, strs);

    设置适配器
      edit.setAdapter(adapter);

二、MultiAutoCompleteTextView

  1.简介

      继承自AutoCompleteTextView,延长AutoCompleteTextView的长度,你必须要提供一个MultiAutoCompleteTextView.Tokenizer来区分不同的子串

  2.重要方法

      enoughToFilter():当文本长度超过阈值时过滤

      performValidation():代替验证整个文本,这个子类方法验证每个单独的文字标记

      setTokenizer(MultiAutoCompleteTextView.Tokenizer t):用户正在输入时,tokenizer设置将用于确定文本相关范围内

  3.实例

  (1)布局文件

    <<MultiAutoCompleteTextView android:id="@+id/edit1"
          android:layout_marginLeft="23px" android:layout_width="match_parent"
          android:layout_height="wrap_content" />   

  (2)程序

    实例化适配器

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, strs);

    设置适配器
      edit.setAdapter(adapter);

    确定范围

    edit1.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

  源码下载:https://files.cnblogs.com/salam/WidgetDemo.rar

      

原文地址:https://www.cnblogs.com/salam/p/1843943.html