关于AutoCompleteTextView 为什么必须输入两个字符才能出现补全提示的问题的解决办法
2013-01-24 18:01
567 查看
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);
这样输入一个字符的时候就会开始提示。
例如做了一下设置,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);
这样输入一个字符的时候就会开始提示。
相关文章推荐
- 关于AutoCompleteTextView 为什么必须输入两个字符才能出现补全提示的问题的解决办法
- 关于AutoCompleteTextView 为什么必须输入两个字符才能出现补全提示的问题的解决办法
- 关于AutoCompleteTextView 为什么必须输入两个字符才能出现补全提示的问题的解决办法
- Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView
- UITextView textViewDidChange 限制字符长度崩溃问题 解决办法
- 关于XhsEmoticonsKeyboard仿微信表情键盘,某些情况下输入字符崩溃问题解决办法
- 关于修复VS2008提示加载安装组件出现问题和点击VS的设计窗口出现一个WINDOW installer的提示的问题的解决办法
- 关于AutoCompleteTextView设置背景无效的解决办法
- AutoCompleteTextView不输入字符获取提示以及相关焦点问
- 关于S60 3rd SDK+VC2005+Carbide.vs 3.0出现的两个问题的解决办法
- Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView
- 关于AutoCompleteTextView设置背景无效的解决办法
- AutoCompleteTextView输入两个字符后才给提示列表
- 安装SQL Server 2000时出现以下错误提示:“以前的某个程序安装已在安装计算机创建挂起的文件操作,运行安装程序之前必须重新启动计算机” 说明:如果重启计算机无法解决问题,可能有以下两个原因
- 关于S60 3rd SDK+VC2005+Carbide.vs 3.0出现的两个问题的解决办法
- 单击AutoCompleteTextView后自动提示,无需输入字符,提示信息通过SQLite查询获得
- 关于maven出现Missing artifact oracle:ojdbc14:jar:10.2.0.4.0错误的问题解决办法
- Android布局提示TextView可以代替LinearLayout警告的解决办法
- 关于EditText、AutoCompleteTextView类似这类控件的简单输入限制
- DedeCMS上传附件提示"需输入后台管理目录才能登录"的解决办法