【发布时间】:2012-08-07 20:33:25
【问题描述】:
我对 TextView 和 autoLink 功能有疑问。
我的应用程序中有一个关于屏幕,其中包含一些信息,例如支持电话号码、电子邮件地址、网站 URL 和应用程序版本,例如 01.01.01
在 textView 上设置 autoLink="all" 后,所有值都可以正常链接 - 除了版本号 01.01.01 也链接为电话号码。
有没有办法从链接中排除这个文本片段?
【问题讨论】:
我对 TextView 和 autoLink 功能有疑问。
我的应用程序中有一个关于屏幕,其中包含一些信息,例如支持电话号码、电子邮件地址、网站 URL 和应用程序版本,例如 01.01.01
在 textView 上设置 autoLink="all" 后,所有值都可以正常链接 - 除了版本号 01.01.01 也链接为电话号码。
有没有办法从链接中排除这个文本片段?
【问题讨论】:
只是不要使用自动链接,链接代码中的文本。使用 Linkify 类非常容易。
private static final String phoneRegex="123\.456\.789";//you can just place your support phone here
private static final Pattern phoneMatcher = Pattern.compile(phoneRegex);
public static void linkify(TextView text){
Linkify.addLinks(text, Linkify.EMAIL_ADDRESSES);
Linkify.addLinks(text, Linkify.WEB_URLS);
Linkify.addLinks(text, phoneMatcher, "tel:");
}
您不需要修改 url 和电子邮件表达式。但是您应该为电话指定自己的表达式。它不需要是匹配所有音素的表达式。它只需要与您的特定支持电话相匹配。
【讨论】:
将版本放到另一个 TextView 中?
【讨论】: