我有一个AutoCompleteTextView,它很好用,直到我在输入中添加一个空格。例如,如果我列出了许多历史事件(英国战役(1940年),大爆炸战役(1944年),[插入大量战斗],拿破仑的致命游行(1812年),[插入许多其他历史事件]) 。

当我输入“Battle”或“battle”时,我会获得所有战斗的列表(尽管似乎有最大战斗),而当我输入“britain”时,"Battle of Britain (1940)"会出现在结果中。

但是,当我输入"1940"时,列表为空,原因与输入"itain"时没有任何匹配的原因相同。我猜空间是某种分隔符或锚点。如果我将1940放在字符串前面(例如"1940 - Battle of Britain")并输入“19”,那么我会得到所有以“19”开头的结果。

即使在所搜索的单词/短语/部分的前面有一个字符,也可以使AutoCompleteTextView自动完成吗? (因此,当我输入“1940”时,结果中将包括“不列颠之战(1940年)”?)

最佳答案

Adapter方法中使用实现Filterable的自定义getFilter()
使用String.contains()满足您的要求

10-05 18:21