Пример использования AutoCompleteTextView в Android | Prologistic.com.ua

Пример использования AutoCompleteTextView в Android

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

Виджет AutoCompleteTextView в Android. Теория

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

В XML макете виджет определяется следующим образом:

Обратите внимание на атрибут android:ems. Он устанавливает ширину виджета TextView, независимо от фактического размер вводимого текста.

Наиболее полезные методы при работе с виджетом AutoCompleteTextView в коде:

  • Метод setAdapter() устанавливает адаптер в виджет AutoCompleteTextView.
  • Метод getAdapter() возвращает адаптер, используемый для автоматического предоставления подсказок
  • Метод getCompletionHint() возвращает текст, отображаемый в нижней части списка подсказок.
  • Метод getDropDownAnchor() возвращает возвращает идентификатор View, к которому отностится выпадающий список.
  • Метод getListSelection() возвращает позицию элемента из выпадающего списка.
  • Метод isPopupShowing() определяет, показано всплывающее меню или нет
  • Метод setText(CharSequence text, boolean filter) устанавливает текст в виджет с позможностью отключить фильтрацию
  • Метод showDropDown() показывает выпадающий список

Виджет AutoCompleteTextView в Android. Пример

В нашем примере мы используем виджет TextView и AutoCompleteTextView в компоновке RelativeLayout. В коде мы будем использовать ArrayAdapter со списком каких-либо элементов. Для простоты примера мы будем использовать захардкоденные данные в массиве. В реальном же приложении эти данные будут предоставлены из базы данных или от какого-либо интернет-сервиса.

XML файл компоновки приведен ниже:

Ниже приведен листинг класса MainActivity:

В приведенном выше коде, мы сохранили список в ArrayAdapter со стандартной Android компоновкой. Обратите внимание, что методом setThreshold(1) мы указали на необходимость появления списка с подсказками после ввода всего лишь одного символа.

Обратите внимание, что список с подсказками виден только когда поле ввода получило фокус.

Ниже представлен результат использования виджета AutoCompleteTextView в Android:

AutoCompleteTextView result

Подписывайтесь на новые статьи по Java и Android.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *