AutoCompleteTextView ищет часть слова вместо полного слова

У меня есть AutoCompleteTextView, и он прекрасно работает, пока я не добавлю пробел к своему вводу. Если бы у меня был, скажем, список многих исторических событий (Битва за Британию (1940 г.), Битва за Арденну (1944 г.), [вставьте множество сражений], роковой поход Наполеона (1812 г.), [вставьте множество других исторических событий]) .

Когда я ввожу "Battle" или "battle", я получаю список всех боёв (хотя там вроде макс), а когда я ввожу "britain", в результатах появляется "Battle of Britain (1940)".

Однако, когда я ввожу "1940", список пуст по той же причине, что когда я ввожу "itain", я не получаю совпадений. Я предполагаю, что пространство является своего рода разделителем или якорем. Если я поставлю 1940 перед строкой (например, "1940 - Battle of Britain") и введу "19", я действительно получу все результаты, начинающиеся с "19".

Можно ли использовать автозаполнение AutoCompleteTextView, даже если перед искомым словом/фразой/частью есть символ? (Значит, когда я ввожу «1940», среди результатов будет «Битва за Британию (1940)»?)


person stealthjong    schedule 23.10.2012    source источник
comment
Какой источник данных вы использовали? (например, база данных sqlite)   -  person Hein    schedule 23.10.2012


Ответы (1)


Используйте пользовательский Adapter, реализующий Filterable, в методе getFilter() . Используйте String.contains() для вашего требования

person Hardik4560    schedule 23.10.2012
comment
Кажется, это может сработать. Проверю наверное где-то вечером. Спасибо. - person stealthjong; 23.10.2012
comment
Как бы вы это реализовали? - person Oliver Dixon; 08.02.2016
comment
Ответ устарел. Теперь вы можете попробовать CursorAdapters... do-anything" title="listview simplecursoradapter и фильтр edittext, почему он ничего не делает"> stackoverflow.com/questions/5322412/ - person Hardik4560; 08.02.2016