zoukankan      html  css  js  c++  java
  • 关于AutoCompleteTextView 为什么必须输入两个字符才能出现补全提示的问题的解决办法

    android提供了自动提示功能的textview,按照自带的文档和api demo可以写几行代码就可以实现此功能。但默认的thresh为2,所以默认情况下你必须输入两个或者两个以上的字符,才会有自动提示功能,否则 AutoCompleteTextView是不会有任何提示的。当然你可以通过setThresh来设置至少输入几个字符后才会有提示,也可以在xml里设置。 AutoCompleteTextView会把你所有的字符串当做子串去做匹配, 而MultiAutoCompleteTextView会根据你提供tokenizer来分解你已经输入的字符串,并对符合条件的最后几个字符当做子串去做自动提示。

    例如做了一下设置,MultiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

    那么当你输入  “It” 时,它会提示你Italy, 然后你选择这个字符串。此时在textview中的字符串为 "Italy", 紧接着再输入",It", 此时字符串为在textview中位 “Italy,It”,那么此时MultiAutoCompleteTextView根据你设置的分词方式(CommaTokenizer),分解出 "It",然后再匹配一次, 又会提示Italy.这就是Multi的由来。支持多个单词的提示,当然必须设置正确的分词方式(Tokenizer)。

    解决办法就是:通过setThresh来设置至少输入几个字符后才会有提示

    AutoCompleteTextView.setThreshold(1);
    或者
    MultiAutoCompleteTextView.setThreshold(1);

    这样输入一个字符的时候就会开始提示。

  • 相关阅读:
    《自拍教程76》Python 一键批量安装第三方包
    Java 在 PDF 中添加表单域
    Spire.Cloud.Word 加密 Word 文档
    Java 添加超链接到 Word 文档
    为什么java8还在被大量使用?
    要替代C和Java 的后浪,现在混得怎么样?
    学习Java之前是否需要学习HTML
    半路出家学习Java是否能学出来
    学习Java语言有什么好处?
    Java只有中国开发者在用了吗?
  • 原文地址:https://www.cnblogs.com/loonggg/p/4981847.html
Copyright © 2011-2022 走看看