• Post Reply Bookmark Topic Watch Topic
  • New Topic

Custom AutoCompleteTextView behavior

 
Lester Burnham
Rancher
Posts: 1337
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Out of the box, the AutoCompleteTextView widget does not seem to be able to match the input string in the middle of a list value - the matches are always made at the beginning; e.g., entering "ar" matches "argentina", but not "hungary". I've found hints on how to extend the class (like this one), but they address a different sort of issue.

Matching in the middle of a string seems to require a Filter class with a custom performFiltering method - but ListAdapter only allows to get an existing Filter, not to set a custom one. I think this should be doable; anyone know what I'm missing?
 
Lester Burnham
Rancher
Posts: 1337
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I figured it out. For the benefit of whoever may see this topic: The solution is to extend ArrayAdapter so that the getFilter method can return a custom Filter implementation with the intended match behavior. getCount and getItem(int) also need to be overridden.
 
Gravity is a harsh mistress. But this tiny ad is pretty easy to deal with:
the new thread boost feature: great for the advertiser and smooth for the coderanch user
https://coderanch.com/t/674455/Thread-Boost-feature
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!