Autore Topic: Inserire codice html in string.xml e visualizzarlo formattato il una TextView  (Letto 5775 volte)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Per inserire codice html nel file string.xml e visualizzarlo successivamente in una TextView o in una WebView fate in questo modo:

Nel file string.xml salvate l'html inserendolo come Character Data:

Codice (XML): [Seleziona]
<string name="stringa"><![CDATA[Testo e codice html]]></string>
esempio:

Codice (XML): [Seleziona]
<string name="stringa"><![CDATA[<b>Ciao!</b><br>Tutto bene?]]></string>
Per poi visualizzarla in una TextView:
Codice (Java): [Seleziona]
TextView textView = ( TextView ) findViewById( R.id.myTextView );

//Assegnamo alla TextView la stringa con la formattazione html
String text = getString( R.string.stringa );
textView.setText( Html.fromHtml( text ), TextView.BufferType.SPANNABLE );

//Rendiamo eventuali link cliccabili
Linkify.addLinks( textView, Linkify.ALL );

Per inserirlo in una WebView potete usare il metodo loadData.
Codice (Java): [Seleziona]
String text = getString( R.string.stringa );
webview.loadData(text, "text/html", "utf-8");
« Ultima modifica: 09 Settembre 2010, 12:58:16 CEST da Ricky` »

Offline JD

  • Amministratore
  • Utente storico
  • *****
  • Post: 1600
  • Respect: +232
    • leinardi
    • Mostra profilo
  • Dispositivo Android:
    LG Nexus 5
  • Sistema operativo:
    L'ultima Ubuntu
Re:Inserire codice html in string.xml e visualizzarlo formattato il una TextView
« Risposta #1 il: 09 Settembre 2010, 13:00:51 CEST »
0
Grazie, questo snippet potrebbe tornare molto utile ;)
È stata trovata una soluzione al tuo problema?
Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato ;).
E se hai aperto tu il thread marcalo come risolto cliccando !

Offline lo

  • Utente junior
  • **
  • Post: 65
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus one
Re:Inserire codice html in string.xml e visualizzarlo formattato il una TextView
« Risposta #2 il: 29 Settembre 2010, 14:03:25 CEST »
0
ciao a tutti.,
stavo cercando proprio una cosa del genere.
solo per sicurezza...

non è possibile vero una scorciatoia del genere:

Codice (XML): [Seleziona]
<string name="stringa"><![CDATA[Vorrei accedere <span>a questo testo</span> direttamente]]></string>
e quindi, un po' stile jquery, qualcosa tipo:

Codice (Java): [Seleziona]
findViewById(R.id.myTextView).findSpannable(0).setText('a questo nuovo testo');
oppure è fattibile solamente lavorando con le sottostringhe come nella soluzione di Qlimax?
grazie! :)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +507
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Inserire codice html in string.xml e visualizzarlo formattato il una TextView
« Risposta #3 il: 29 Settembre 2010, 14:16:36 CEST »
0
Purtroppo non credo sia possibile...

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 773
  • Respect: +161
    • Github
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Huawei P9 Lite
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Inserire codice html in string.xml e visualizzarlo formattato il una TextView
« Risposta #4 il: 05 Ottobre 2010, 22:35:57 CEST »
+1
Aggiungo i miei 2 cents.

Per chi ha necessità di formattare una stringa con codice HTML, bisogna tener conto del carattere "<", che assume un significato particolare, ed usare l'entità equivalente &lt;:

Codice (XML): [Seleziona]
<string name="hello">Hello, mr.&lt;b>%1$s&lt;/b>!</string>
la stringa va poi opportunamente formattata:

Codice (Java): [Seleziona]
String hello = getString( R.string.hello);

//Formatto la stringa
String text = String.format(hello, "Ohmnis");

quindi può essere assegnata al TextView come descritto da Ricky`.
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline guidocx84

  • Utente junior
  • **
  • Post: 68
  • Respect: 0
    • Mostra profilo
Re:Inserire codice html in string.xml e visualizzarlo formattato il una TextView
« Risposta #5 il: 04 Novembre 2011, 11:06:21 CET »
0
Ciao a tutti!
Mi confermate che questa cosa non può essere fatta se la stringa in questione è quella che poi utilizzo per un Toast?
Nel caso invece che si possa fare, mi dite come? Grazie mille!!  ;-)