zoukankan      html  css  js  c++  java
  • Android AutoCompleteTextView和MultiAutocompleteTextView实现动态自动匹配输入的内容

    AutoCompleteTextView MultiAutocompleteTextView

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

    AutoCompleteTextView

    1. 功能:

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

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

    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. 让我们调试下,功能已经实现了。

    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>让我们调试下,功能已经实现了。

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

    这是我写的Demo:https://pan.baidu.com/s/1DxUoDTdhbL5kosXTx5S6Pw

  • 相关阅读:
    Day4 0708
    Day2 0706
    两道递推公式题的解题报告
    博客还需优化
    飞行路线Luogu4568
    堆优化Dijkstra(Luogu 4779)
    2019四等奖的清明节征文
    2019四等奖的叶圣陶初稿
    Luogu P1072 Hankson的趣味题
    Loj10022 埃及分数(迭代加深搜索IDDFS)
  • 原文地址:https://www.cnblogs.com/MrChen-/p/10313890.html
Copyright © 2011-2022 走看看