2012-03-15 10 views
7

Estoy diseñando una aplicación, donde hay TextView, y en función de algunas condiciones de verificación, quiero hacer enlaces/números de teléfono en el TextView que se puede hacer clic en Java. ¿Puedo hacer esto, no querer hacer que se puede hacer clic de forma predeterminada que se realiza mediante el establecimiento en el archivo xmlSet Link Clickable en Java-Android

android:autoLink="all" 

lo que ya intentado: Crear Vista de Texto regular y no establezco autoLink = "all" ,

 TextView myView = 
       (TextView)view.findViewById(R.id.thisIstheTextView); 
     myView .setLinksClickable(true); 

también probamos:

 myView .setMovementMethod(LinkMovementMethod.getInstance()); 

Ninguno de código Java anterior funciona, no quiero un TextView xml prediseñado con autoLink habilitado, quiero cambiar el comportamiento de Vista de Texto en código Java basado en condiciones if(). No hay ningún error en mi código, pero no puedo lograr lo que quiero. ¿Puedes compartir tu conocimiento? Gracias.

+0

http://stackoverflow.com/questions/9380349/html-a-tag-not-working-in-android-textview/9380417#9380417 –

Respuesta

5

Linkify.addLinks (myView, Linkify.ALL); Se corrigió el problema.

13

Use setAutoLinkMask (int mask).

Los posibles valores que se pueden combinar para mask son los definidos para la clase Linkify.

+0

Gracias. Aunque este es el método equivalente de android: autoLink, todavía no funciona. –

+9

Disculpe, no estoy de acuerdo, funciona. Sin embargo, debe llamar antes de una llamada a 'setText (...)', no cambiará los enlaces en 'TextView' después de que ya tenga texto. Su pregunta fue acerca de cómo cambiar el comportamiento de un 'TextView' en función de lo que desea mostrar como elementos clicables/vinculados (números de teléfono, etc.)" en función de alguna condición comprobada ". Supuse que harías el cheque, luego configuraste la máscara de enlace automático y luego configuraste el texto. – Squonk

+1

Use la constante Linkify como esta textView.setAutoLinkMask (Linkify.WEB_URLS); –