2016-06-16 52 views
0

我有一个自定义TextView(延伸TextView),其中可以包含客户配置的任何文本。我需要添加功能,用户可以点击电话号码,地址和电子邮件和应用程序可以启动适当的应用程序(拨号程序,地图,电子邮件)。请看看我的当前实现:Linkify 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. 应该在textview中输入电话号码,地址和电子邮件的格式以使此功能起作用?

任何帮助或建议表示赞赏!

感谢。

回答

0

您需要在设置文本后调用Linky.addLinks(this, Linkify.ALL),而不是在构造函数中。

+0

感谢您的回复。但是,设置文本后添加了上述行。请检查我上面的编辑。 – void

0

我明白了。我在xml中添加android:autoLink="all"TextView元素。我的电话号码格式TextView错误。这些是由Linkify支持的一些电话号码格式:12345678912,+ 12345678912,1-234-567-8912,+ 1-234-567-8912,(1234)567-8912,+(1234)567-8912。

注:也可能有更多的支持格式!

谢谢

相关问题