2017-07-17 6 views
-4

J'ai html codé où même les balises sont codées en entités htmlExiste-t-il un meilleur moyen de décoder html directement sur Android?

Some <b> bold </b> text 

Je voudrais afficher cela comme une chaîne dans enjambée TextView, mais la seule façon de le faire est d'utiliser deux fois Html.fromHtml()

val decoded = Html.fromHtml("").toString() // Some <b>bold</b> text 
val spanned = Html.fromHtml(decoded) 

Y a-t-il une façon plus propre de faire cela?

+0

Dans Strings.xml? Et est-ce Kotlin que vous utilisez? – Zoe

+0

évidemment ' « Certains <b> gras </b > texte »' ne contient pas de balises html quand ' « Certains gras texte »' fait – Selvin

+0

La chaîne codée est une partie de réponse du réseau, qui est la raison pour laquelle il est dans ce format. La langue n'est pas si importante pour la question – Lamorak

Répondre

0

Vous pouvez utiliser CDATA:

<string name="string"><![CDATA[Some <b>bold</b> text]]></string> 

Ensuite, vous passez tout le texte directement dans HTML.fromHtml (rappelez-vous que l'API 24 a un nouvel appel, vous devez prendre cela en considération)