Я написал собственный класс адаптера, расширяющий BaseAdapter, реализующий Filterable для использования с AutoCompleteTextView. Фильтрация и выбор работают нормально.
Единственная проблема заключается в том, что если щелкнуть элемент из списка, AutoCompleteTextView автоматически вызывает метод адаптера getItem(int position)
и устанавливает его текст в getItem(position).toString()
. Я не хочу такого поведения, поскольку я использую пользовательские объекты в базовом адаптере, и это приводит к таким строкам, как "ClassName [id=xx, variable1=var1]"
, помещаемым в TextView.
До сих пор я пытался установить свои собственные OnItemClickListener и OnItemSelectedListener, но это, похоже, только быстро переопределяет указанную выше строку вместо того, чтобы напрямую писать мою пользовательскую строку. Как я могу отключить эту строку по умолчанию?
О, и переопределение метода Objects toString() в этом случае не вариант.
Любые идеи? с уважением Данижу