在很多地方,我看到了不同的自动完成方式,我认为这些方法非常基础,其他方面也很好实现。
我的想法是AutoCompleteTextView
,但要自定义自动完成方式。例如,我的所有自动完成建议都是单行字符串,其中空格由短划线( - )替换。如果我有last-night-I-was-bad
之类的建议,我的目标是,如果用户输入任何字词的首字母之一(我的意思是:l
,n
,I
,w
或b
)会显示该建议。总结:将破折号视为空格并显示与任何“单词”的任何子字符串匹配的建议。我认为这种自动填充非常有用!
我也有兴趣从建议中丢弃一些角色。例如,假设我的所有自动建议都以@
开头,并且用户输入a
字母,则会显示以@a
开头的所有建议。
是否有类似的内容,或者至少可以自定义AutoCompleteTextView
处理建议的方式?我查看了文档,但没有看到类似的东西(或者至少不是那么直接)。
任何帮助表示赞赏!
答案 0 :(得分:1)
最后我明白了。我制作了ArrayAdapter
扩展程序,其内部Filter
扩展名,并且覆盖performFiltering(CharSequence)
和publishResults(CharSequence, FilterResults)
我能够实现我需要的行为(基本上比较两个{{1}使用String
代替默认contains()
)。
代码将是这样的,希望它可以帮助某人。
startsWith()