Enlace activo de Android de url en TextView

Obtengo texto dynamic de un servicio web y lo muestro en un TextView. A veces, TextView tiene una URL como hello . He configurado el texto usando el siguiente código.

 textView.setText(Html.fromHtml(sampletext)); 

Y también configure android:autoLink="web" en el xml correspondiente que contiene TextView . Ahora el enlace se muestra correctamente con el color azul y el subrayado, pero encontré que es simplemente un enlace muerto. Nada está sucediendo si tratamos de hacer clic en él. ¿Qué tengo que hacer para que el enlace esté activo?

Después de revisar todas las soluciones, un resumen con algunas explicaciones:

 android:autoLink="web" 

encontrará una URL y creará un enlace, incluso si android: linksClickable no está configurado, los enlaces se pueden hacer clic por defecto. No tiene que mantener la URL sola, incluso en medio de un texto, se detectará y se podrá hacer clic en ella.

   

Para establecer un enlace a través del código, el mismo principio, sin necesidad de patrón o android: autoLink en el diseño, el enlace se encuentra automáticamente mediante Linkify:

  final TextView myClickableUrl = (TextView) findViewById(R.id.myClickableUrlTextView); myClickableUrl.setText("Click my web site: www.stackoverflow.com"); Linkify.addLinks(myClickableUrl, Linkify.WEB_URLS); 

Esto funciona para mí:

   

Para guardar en cualquier momento, la verdadera solución es

    

y lo uso y funciona perfecto

Mira este enfoque:

 String text = "Visit stackoverflow.com"; TextView label = new TextView(this); label.setText(text); Pattern pattern = Pattern.compile("stackoverflow.com"); Linkify.addLinks(label, pattern, "http://"); 

He dado una idea de que lo he encontrado

 TextView tv = ( TextView ) findViewById( R.id.link ); WebView wv = ( WebView ) findViewById( R.id.webView ); URLSpan[] urlSpans = tv.getUrls(); for ( URLSpan urlSpan : urlSpans ) { wv.loadUrl( urlSpan.getURL() ); } 

string.xml

 < ?xml version="1.0" encoding="utf-8"?>  Hello, Android 'Google'  

main.xml

 < ?xml version="1.0" encoding="utf-8"?>     

Hay 2 casos:

  • el texto se ve como "click on http://www.hello.com"

entonces solo tienes que configurar el atributo autoLink en el xml para que el enlace se detecte automáticamente en el texto:

  
  • el texto se ve como click on hello

luego debe hacerlo por código e indicar que el texto es html, y especificar un método de movimiento de enlace para el clic:

  String text = "click on hello"; TextView textView = view.findViewById(R.id.textView); textView.setText(Html.fromHtml(text)); textView.setMovementMethod(LinkMovementMethod.getInstance()); 

En su XML, necesita agregar android:linksClickable="true" en el TextView.