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