Подсказки AutoCompleteTextView в ландшафтном режиме

Я использую AutoCompleteTextView в своем приложении с помощью специального адаптера, и он отлично работает в портретном режиме. В горизонтальном режиме, однако, клавиатура программного обеспечения занимает большую часть экрана, а текстовый вид использует кнопки наложения вместо представлений, предоставляемых адаптером.

Я не мог найти четкую документацию о том, как это работает за кулисами. Кажется, что в ландшафтном режиме AutoCompleteTextView обходит метод getView() адаптера, выполняет какую-то грязную работу с использованием getItem() и сам обрабатывает элементы, используя необработанные строки.

Чтобы усугубить ситуацию, кажется, что в AutoCompleteTextView есть возможность представить ДВА списков подсказок автозаполнения: стандартные выпадающие и наложенные кнопки в одно и то же время (это хорошо видно, если мы установим imeOptions в flagNoExtractUi чтобы предотвратить расширение AutoCompleteTextView в ландшафте).

Я бы хотел предоставить свои собственные представления в ситуациях BOTH, но мне удалось сделать это только для раскрывающегося меню. Любые изменения для предоставления пользовательских представлений для наложенного списка?

Извините, но я не могу отправлять изображения из-за низкого рейтинга. Я могу отправить их, если кому-то это понадобится.

Я сам столкнулся с этой проблемой. Как вы сказали, в ландшафте TextView основывает свои автозаполненные подсказки на результате getItem() . Я действительно не вижу способа предоставить что-либо, кроме текста в этом сценарии, но простым решением для получения правильного текста, отображаемого в ландшафте, является переопределение toString() для объекта, на который вы основываете подсказку.

Например, в моем сценарии я использую список объектов Contact для заполнения моих подсказок автозаполнения, поэтому я перепробовал toString() в моем классе Contact, чтобы он отображал «FirstName LastName» вместо представления исходного объекта, например «Contact @ a2a6d4d3a5» «.

Intereting Posts