Sé que esto es una cuestión de edad, pero esto es un problema Recientemente luché con, y no encontré ninguna respuesta de StackOverflow que me ayudó. Entonces, después de una extensa experimentación, encontré una solución y pensé que la compartiría para la posteridad.
En su strings.xml, usar etiquetas HTML y los marcadores:
<string name="example"><![CDATA[I know hyperlinks in android can be placed with "Linkify".. and i have referred <a href="http://developer.android.com/reference/android/text/util/Linkify.html">android docs</a> page]]></string>
En el código XML, asegúrese de que no añade ningún atributos especiales. NO use android: autolink
En su código Java, debe usar fromHtml, Linkify y LinkMovementMethod. Asegúrese de llamar antes de Linkify LinkMovementMethod
exampleTextView.setText(Html.fromHtml(getString(R.string.example)));
Linkify.addLinks(exampleTextView, Linkify.WEB_URLS);
exampleTextView.setMovementMethod(LinkMovementMethod.getInstance());
Otra advertencia: si está utilizando estos enlaces HTML, en los que un enlace tiene texto de la pantalla que no coincide con la URL de Google (www.google.com) y, no ponga URL sin procesar en la cadena. Por lo tanto:
<string name="example"><![CDATA[www.google.com I know hyperlinks in android can be placed with "Linkify".. and i have referred <a href="http://developer.android.com/reference/android/text/util/Linkify.html">android docs</a> page]]></string>
a su vez, "www.google.com" en un enlace, pero no se enciende "docs android" en un enlace.
Esto fue muy frustrante para mí, ya que probé muchas combinaciones diferentes y seguí muchos ejemplos en línea, ninguno funcionó hasta que encontré la combinación mágica correcta descrita anteriormente. Espero que ayude a alguien más!
¿Podemos establecer una cadena spannable localizada? – Manohar