2016-06-16 7 views
0

У меня есть обычай TextView (распространяется TextView), который может содержать любой текст, настроенный клиентом. Мне нужно добавить функциональность, где пользователь может щелкнуть номер телефона, адрес и адрес электронной почты, а приложение может запустить соответствующее приложение (дозвонщик, карты, электронная почта). Посмотрите, пожалуйста, мою текущую реализацию:Связать Android на номера телефонов, адрес и адрес электронной почты

public class MyTextView extends TextView{   

    // constructors and styling of this view 

    public void setStyle(){ 
     setLinksClickable(true); 
     setMovementMethod(LinkMovementMethod.getInstance()); 
     Linkify.addLinks(this, Linkify.ALL); 
     //setAutoLinkMask(Linkify.ALL); 
    } 

} 
  1. Что плохого в моей реализации? Я не могу щелкнуть текст, содержащий номер телефона, адрес и адрес электронной почты.
  2. Какой формат номера телефона, адреса и электронной почты должен быть введен в текстовое поле для работы этой функции?

Любая помощь или рекомендация оценивается !!

Спасибо.

ответ

0

После того, как текст был установлен, а не в конструкторе, необходимо позвонить Linky.addLinks(this, Linkify.ALL).

+0

Спасибо за ваш ответ. Однако указанные выше строки были добавлены после установки текста. Пожалуйста, проверьте мои изменения выше. – void

0

У меня это работает. Я добавил android:autoLink="all" в элемент TextView в xml. Был неверный формат номера телефона в TextView. Это некоторые форматы номеров телефонов, поддерживаемые Linkify: 12345678912, +12345678912, 1-234-567-8912, + 1-234-567-8912, (1234) 567-8912, + (1234) 567-8912.

Примечание: там могут быть и более поддерживаемые форматы!

Thanks