Я пытаюсь использовать AutoCompleteTextView, чтобы выбрать элемент из потенциально длинного списка элементов-кандидатов. Я могу нормально отобразить список, и я могу получить вызов onItemClick, когда пользователь выбирает одно из предложений автозаполнения. Проблема в том, что «позиция», сообщаемая в onItemClick, - это позиция в раскрывающемся списке отфильтрованных элементов, а НЕ позиция в исходном списке кандидатов.
Мне нужно знать индекс выбранного элемента в исходном списке, который я дал ArrayAdapter, а НЕ в раскрывающемся списке после его фильтрации.
Я попытался создать подкласс AutoCompleteTextView и переопределить onCommitCompletion, который должен дать исходный индекс списка, но он не вызывается при выборе элемента.
Я также попытался создать подкласс BaseAdapter, чтобы самостоятельно создавать представления для списка автозаполнения и setTag с объектом приложения для каждого элемента, но AutoCompleteTextView не будет принимать подкласс BaseAdapter для setAdapter.
Я не могу поверить, что нет способа сделать это без полного переписывания AutoCompleteTextView.
Надеюсь, у кого-то есть ответ на этот вопрос!