Главная » Разработка для Android » Введение в Linkify

0

Linkify — вспомогательный класс, который  автоматически создает ги- перссылки  внутри элементов  TextView  (и их производных) на основе регу- лярных выражений RegEx.

Текст, соответствующий заданному  регулярному выражению,  будет преобразован в гиперссылку,  при нажатии  которой  срабатывает  код вида startActivity (new Intent(Intent.ACTION_VIEW, uri)),  где uri — сов- павший текст.

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

Стандартные типы ссылок в Linkify

Статический метод Linkify.addLinks в качестве  параметров  принима- ет Представление, к которому  будут применены  шаблоны,  а также бито- вые маски для одного или нескольких стандартных типов содержимого, предоставляемые классом  Linkify: WEB_URLS, EMAIL_ADDRESSES, PHONE_NUMBERS и ALL.

В листинге  5.12 показано,  как с помощью  класса  Linkify отобразить адреса веб-сайтов и электронной почты, содержащихся в элементе TextView, в виде гиперссылок.  При нажатии  ссылки откроются  браузер и почтовый клиент соответственно.

Листинг 5.12. Использование Linkify в коде программы

TextView textView = (TextView)findViewById(R.id.myTextView);

Linkify.addLinks(textView, Linkify.WEB_URLS|Linkify.EMAIL_ADDRESSES);

ПРИМЕЧАНИЕ

Большинство устройств под управлением Android включают как минимум два почтовых приложения: Gmail и Email. Если для выполнения действия подходят сразу несколько Активностей, пользователю предложено вы- брать между ними.

Вы также можете применить класс Linkify к Представлению прямо внутри ресурса с разметкой, используя атрибут android:autoLink. Он поддер- живает одно или несколько  значений  (разделенных символом |), названия которых говорят сами за себя: none, web, email, phone и all.

В листинге  5.13 показано,  как добавить гиперссылку для телефонных номеров и адресов электронной почты.

Листинг 5.13. Использование Linkify с помощью XML

<TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/linkify_me" android:autoLink="phone|email"

/>

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии