HTML

Résolu
drBalise Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
drBalise Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -
Salut! :) J'ai une préoccupation concernant l'utilisation du HTML avec android studio. Au niveau de l'affichage du Html qui est dans le textView, la méthode Html.fromHtml permet d'afficher le message.Cependant, il est barrée avec ce message au survol:'fromHtml(java.lang.string)' is deprecated
J'utilise l'API 24. Et Après recherche, je me suis rendu compte qu'apparemment, cette méthode ne marche plus. Existe t-il une méthode pour palier à cela? Si oui laquelle? Aider moi je vous prie.

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Une méthode est généralement dépréciée au profit d'une autre, pour savoir laquelle prendre à la place, il faut regarder dans la documentation :

https://developer.android.com/reference/android/text/Html.html#fromHtml(java.lang.String)
Spanned fromHtml (String source)

This method was deprecated in API level 24.
use
fromHtml(String, int)
instead.

Remarque : déprécié ça ne veut pas forcément dire que ça ne marche plus, généralement ces méthodes sont conservées en l'état pour garantir la rétrocompatibilité.
0
drBalise Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Ah D'accord! Merci KX! j'ai également lu la documentation mais, j'ai du mal à comprendre les paramètres. Supposons que nous voulons afficher le message "Bonjour le <i>monde</i>". Si je comprends bien, la syntaxe sera la suivante:
Spanned fromHtml("Bonjour le <i>monde</i>", int) C'est bien ça????
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Spanned fromHtml("Bonjour le <i>monde</i>", int) 

Euh...

Spanned fromHtml (String source)
et
Spanned fromHtml(String, int)
ce sont les signatures des méthodes, mais tu ne dois pas les mettre tel quel dans le code !

De même que tu as remplacé le String par "Bonjour le <i>monde</i>" tu dois remplacer le int par sa valeur, en l’occurrence avec une combinaison des constantes FROM_HTML telles que listées dans la documentation :

https://developer.android.com/reference/android/text/Html.html

De plus, il ne s'agit pas juste de mettre Spanned devant, mais de récupérer un objet du type Spanned...

Exemple :
String source = "Bonjour le <i>monde</i>";
int flags = Html.FROM_HTML_MODE_LEGACY;
Spanned s = Html.fromHtml(source, flags);

Pour combiner plusieurs flags on peut faire par exemple :
int flags = Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST
    | Html.FROM_HTML_SEPARATOR_LINE_BREAK_LIST_ITEM
    | Html.FROM_HTML_SEPARATOR_LINE_BREAK_DIV;
0
drBalise Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   > KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention  
 
Thank you
0