2010-05-21 4 views
1

J'ai un problème avec la fonction TextView et autoLink.Android TextView Linkify problème avec les numéros de téléphone et le numéro de version de l'application

J'ai un à propos de l'écran dans ma demande quelques informations comme le support le numéro de téléphone, adresse e-mail, URL du site et version de l'application sous forme comme 01.01.01

Après avoir réglé autoLink = « all » sur le textView, tout les valeurs sont bien liées - sauf que le numéro de version 01.01.01 est également associé au numéro de téléphone.

Existe-t-il un moyen d'exclure ce fragment de texte de linking?

Répondre

0

Placer la version dans un autre TextView?

9

N'utilisez simplement pas le lien automatique, reliez le texte de votre code. C'est assez facile d'utiliser la classe 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:"); 
} 

Vous n'avez pas besoin de modifier l'expression de l'URL et de l'adresse e-mail. Mais vous devez spécifier votre propre expression pour le téléphone. Et il n'a pas besoin d'être une expression qui correspond à tous les téléphones. Il doit juste correspondre à votre téléphone de support spécifique.

+1

Si vous voulez nous faire correspondre des numéros de téléphone, vous pouvez l'utiliser pour la regex: ((\\ (\\ d {3} \\)?) | (\\ d {3} -))? \\ d {3} - \\ d {4} – Jbecwar

Questions connexes