I am looking for the best way to let the user choose one option from a list that might be somewhat long.
I was considering an AutoCompleteTextView, but it is important that the user only can choose between items from the list, not input their own. For this I would normally use a Spinner, but the number of items available for this selection might get rather large over time, thus it would be nice if the users could filter or search the items.
I would prefer to have a solution that will, when not activated, fit on a single line. This is for other design reasons (this happens in a dialog).
What should I do?
I so far have two possible solutions:
1) AutoCompleteTextView. I will then warn the user that the "selected" item isn't valid if the content of the field is not one of the items. User pros: Can enter text and have results filtered. Will not get frustrated by having to scroll through many items.
2) Spinner. Was designed to handle selection between items on a list. User pros: Will be forced to select only between valid options, won't be confronted with error message.
Maybe someone has a better idea or know of a way to combine the pros?