2011-02-18 23 views
5

Tengo una vista de texto con el texto "Este es un producto desarrollado por XYZ. Para más consultas, envíenos un correo electrónico a [email protected] Y he vinculado" [email protected] ". Pero el El problema es que cada vez que toco cualquier área debajo de la vista de texto, se vincula al correo electrónico. ¿Cómo puedo asegurarme de que el enlace solo tiene que ocurrir al hacer clic en info @ ...? Utilicé patrones, Linkify.EMAIL_ADDRESS ... nada parece para trabajar ... se le sugiere algunas respuestasLinkify en android TextView

+0

** [Patrones enlace personalizado El uso de expresiones regulares] (http://www.indelible.org/ink/android-linkify/) podría ser útil ** –

Respuesta

17

he tenido problemas con enlaces automáticos, por lo que se apagaba y en su lugar estoy usando html formateo del texto más este código:

TextView textView = (TextView) findViewById(R.id.TextBox); 
textView.setMovementMethod(LinkMovementMethod.getInstance()); 
textView.setText(Html.fromHtml(strText)); 

Un enlace de correo electrónico va <a href="mailto:[email protected]">[email protected]</a>

+0

Funciona, pero el texto se representa con un subrayado. ¿Cómo eliminarlo? –

+0

Aquí hay una forma de hacerlo: http://stackoverflow.com/questions/4096851/remove-underline-from-links-in-textview-android – Lumis

+1

Me llevó una hora averiguarlo, pero ES CRÍTICO llamar a setMovementMethod ANTES de setText en TextView. Buen ejemplo. –

0

Trate de usar el formato HTML es decir etiqueta de anclaje para el enlace.

17

la mejor forma en que utiliza y siempre trabajó para mí

android:autoLink="web" 

Hope esto le ayudará a todos.

Gracias, Rohit

+0

simplemente funcionó como un encanto. Gracias Rohit. – Gopinath

+0

Worked.Charm.Rohit. –

+2

Esto solo funciona para enlaces que son la url misma. Con esto no puedes f.e. vincula la palabra 'Google' a' google.com'. –

0

Método usando Linkify Clase:

myTextView.setAutoLinkMask(Linkify.EMAIL_ADDRESSES); 
myTextView.setLinksClickable(true);