欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android AutoCompleteTextView和MultiAutocompleteTextView实现动态自动匹配输入的内容

程序员文章站 2022-04-15 17:29:09
AutoCompleteTextView MultiAutocompleteTextView 这两个控件长的很相似,功能也很相似。 AutoCompleteTextView 功能: 动态匹配输入的内容,如百度搜索引擎当输入文本时 可以根据内容显示匹配的热门信息。 独特属性 android:compl ......

autocompletetextview multiautocompletetextview

这两个控件长的很相似,功能也很相似。

autocompletetextview

  1. 功能:

    动态匹配输入的内容,如百度搜索引擎当输入文本时

    可以根据内容显示匹配的热门信息。

    Android AutoCompleteTextView和MultiAutocompleteTextView实现动态自动匹配输入的内容

  2. 独特属性

    android:completionthreshold="2" //收入两个字符后自动匹配

        ----设置输入多少字符时自动匹配

那我们来看一下如何实现autocompletetextview自动匹配。

  1. xml创建控件:

     

    1    <autocompletetextview
    2         android:id="@+id/textview1"
    3         android:layout_width="match_parent"
    4         android:layout_height="wrap_content"
    5         android:completionthreshold="2"
    6         android:hint="autocompletetextview" />

     

  2. java代码关联并实现:

     

     1         /*
     2          * 第一步: 初始化控件 
     3          * 第二步: 需要一个适配器 
     4          * 第三步: 初始化数据源----这数据源去匹配文本框中输入的内容 
     5          * 第四步: 将adapter与当前autocompletetextview绑定
     6          * 
     7          */
     8 
     9         actextview = (autocompletetextview) findviewbyid(r.id.textview1);
    10         arrayadapter<string> adapter = new arrayadapter<string>(this,
    11                 android.r.layout.simple_list_item_1, res);
    12         actextview.setadapter(adapter);
    13         

     

     

  3. 让我们调试下,功能已经实现了。

    Android AutoCompleteTextView和MultiAutocompleteTextView实现动态自动匹配输入的内容

multiautocompletetextview

  1. 功能:

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

    可用在发短信,发邮件时选择联系人这种类型当中。

  2. 独特属性:

    android:completionthreshold="2" //收入两个字符后自动匹配

        ----设置输入多少字符时自动匹配

  3. 设置分隔符

    mtxt.settokenizer(new multiautocompletetextview.commatokenizer());

    可以用这个方法设置,分隔

1>xml创建控件:

 

1     <multiautocompletetextview
2         android:id="@+id/textview2"
3         android:layout_width="match_parent"
4         android:layout_height="wrap_content"
5         android:layout_below="@id/textview1"
6         android:layout_margintop="10dp"
7         android:hint="multiautocompletetextview" />

 

2>java代码关联并实现:

 

 

 1         /*
 2          * 第一步: 初始化控件 
 3          * 第二步: 需要一个适配器 
 4          * 第三步: 初始化数据源----这数据源去匹配文本框中输入的内容 
 5          * 第四步: 将adapter与当前autocompletetextview绑定
 6          * 第五步: 设置分隔符
 7          * 
 8          */
 9         mactextview = (multiautocompletetextview) findviewbyid(r.id.textview2);
10         mactextview.setadapter(adapter);
11         //设置以逗号为分隔符为结束的符号
12         mactextview.settokenizer(new multiautocompletetextview.commatokenizer());

 

3>让我们调试下,功能已经实现了。

Android AutoCompleteTextView和MultiAutocompleteTextView实现动态自动匹配输入的内容

这两个自动匹配的就做到这里了。这就是这两个自动匹配的用法。

这是我写的demo:https://pan.baidu.com/s/1dxuodtdhbl5kosxtx5s6pw