Android TagHandler sin efecto en las etiquetas estándar

Estoy utilizando un TextView para mostrar una cadena HTML como:

"HTML de prueba <a href = \" www.type1.com \ "> link1 </ a> <a href = \" www.type2.com \ "> link2 </ a>"

Como ven, hay dos tipos diferentes de etiquetas que necesito manejar, así que tengo que ser capaz de manejar los dos tipos diferentes de etiquetas y leer el atributo href.

He intentado usar Html.TagHandler:

private class MyTagHandler implements Html.TagHandler { @Override public void handleTag(boolean opening, String tag, Editable output, XMLReader xmlReader) { Toast.makeText(getContext(), tag, Toast.LENGTH_LONG).show(); } } 

Sin embargo, el handleTag no se llama en la etiqueta <a>. Hice pruebas y averiguar que sólo tiene efecto en las etiquetas personalizadas. ¿Es posible manejar también las etiquetas stardard?

El objetivo de una implementación personalizada de Html.TagHandler es proporcionar el manejo de las etiquetas que no son manejadas por el framework android. Así que para hacer lo que quieres, una solución es reemplazar todas las etiquetas que quieres manejar con otra etiqueta que sabes que el framework no manejará, por lo que entrará en tu implementación. Por ejemplo, podría hacer un método como éste para preparar su html:

 public string prepareHTMLForTagHandling(string htmlSource) { if (htmlSource == null || htmlSource == "") return null; return htmlSource.replace("<a", "<acustomlink") .replace("</a>", "<acustomlink>"); } 

Y luego utilizarlo como:

 Html.fromHtml(prepareHTMLForTagHandling(myHtml), null, myHtmlCustomTagHandler); 

Por último, en la implementación del controlador de etiquetas personalizadas, maneja "acustomlink" como una etiqueta en lugar de "a".

Espero eso ayude.

  • Cómo cambiar el texto de TextView en el cambio de texto de EditText?
  • ¿Cómo actualizar el texto del diseño de la cabecera cada segundo en cualquier actividad y mostrar en todas las pantallas?
  • Hacer TextView Scrollable en Android mediante programación
  • ¿Cómo ejecutar continuamente el efecto de sombra a través de textos en la vista de texto de Android?
  • Paginación en Android TextView
  • ¿Con qué frecuencia puede actualizar una vista de texto sin desorden
  • El texto de Android TextView no aparece en los dispositivos Samsung
  • Cómo cambiar el color de las palabras con hashtags
  • Android conjunto grado símbolo de Textview
  • Detectar si TextView en ListView está ellipsizado
  • ¿Qué se entiende por Ems? (Android TextView)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.