Сайт разработчика Александр Климова

/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000

Пропал котёнок? Поиск в ActionBar

3-й курс/Закрытая зона

Пропал котёнок

Если вам необходимо добавить в приложение поисковый механизм, то Android готова помочь вам, предлагая готовые решения в виде специальных диалоговых окон поиска или виджетов. Пользователь может ввести нужный запрос и вы можете обработать данный запрос и вывести нужный результат. Причем вам также доступен голосовой поиск, поисковые подсказки на основе ранних запросов, поиск по данным вашего приложения.

Есть несколько вариантов для реализации поискового интерфейса. У них много общего, различается только реализация интерфейса.

Первый способ - использование системного поискового диалогового окна, который выводится в верхней части приложения. Система контролирует все события в поисковом диалоге. Когда пользователь отправляет запрос, система обрабатывает его и отдает результат указанной активности. Также система позволяет обрабатывать запрос по мере ввода текста.

Второй способ - использование виджета SearchView, который можно расположить в нужном месте вашего приложения. Напомню, что SearchView стал доступен, начиная с версии Android 3.0 (API Level 11).

Общий принцип работы поиска прост - когда пользователь делает запрос, то система создаёт намерение и сохраняет запрос в нём. Затем запускается указанная активность для обработки запроса, которому и передаётся намерение.

Вам необходимо настроить поисковый механизм. Он состоит из нескольких шагов:

  • Создание XML-файла, в котором содержатся различные параметры для поиска, включая настройки голосового поиска, подсказок и дополнений
  • Поисковая активность - форма, которая получает поисковый запрос, ищет данные и выводит результат
  • Поисковый интерфейс - обычно поисковая строка скрыта и выводится при нажатии на кнопку Поиска (если она есть на устройстве) или обычную кнопку, которая выполняет её функцию. Также используется виджет SearchView, который можно использовать в любом месте приложения, в том числе и в ActionBar

Напишем пример использования SearchView в ActionBar.

Вы вошли на сайт, как гость.
Необходимо зарегистрироваться, чтобы прочитать статью

Реклама