2010-09-02 2 views
22

Di seguito è riportato il mio contenuto html che voglio mostrare nella webview usando android sdk. Sarà visualizza solocome mostrare i contenuti html alla webview usando android

// Si prega di

Ma quando ho messo questo contenuto HTML nel browser, allora si vede in modo diverso.

<br /><br />Read the handouts please for tomorrow.<br /><br /><!--homework help homework 


help help with homework homework assignments elementary school high school middle school 



// --><font color="#60c000" size="4"><strong>Please!</strong></font> 

Si prega di suggerire come risolvere questo problema

ho un altro problema che nel contenuto HTML v'è un tag

<img src="http://www.homeworknow.com/hwnow/upload/images/tn_star300.gif" border="0" /> 

in queste immagini non lo fa spettacoli.

+0

Come il vostro caricamento di dati Questa html nella WebView? – bhups

+0

qui descrizione contiene il mio codice html web.getSettings(). SetJavaScriptEnabled (true); web.loadData (descrizione, "text/html", "utf-8"); –

risposta

49
  1. Uso web.loadDataWithBaseURL invece di web.loadData (E non dimenticate di sfuggire stringhe dove è più necessario)
  2. È necessario aggiungere l'autorizzazione ad internet per scaricare le immagini e visualizzarle nel file manifest.

Questo esempio funziona per me:

public class SimpleMusicStream extends Activity { 
    @Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.main); 

     WebView wv = (WebView) findViewById(R.id.WebView01);   

     final String mimeType = "text/html"; 
     final String encoding = "UTF-8"; 
     String html = "<br /><br />Read the handouts please for tomorrow.<br /><br /><!--homework help homework" + 
       "help help with homework homework assignments elementary school high school middle school" + 
       "// --><font color='#60c000' size='4'><strong>Please!</strong></font>" + 
       "<img src='http://www.homeworknow.com/hwnow/upload/images/tn_star300.gif' />"; 


     wv.loadDataWithBaseURL("", html, mimeType, encoding, ""); 
    } 

} 

E non dimenticare di aggiungere:

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

nel file AndroidManifest.xml

+0

E non dimenticare di sfuggire alle stringhe dove è necessario: esiste una classe di utilità per questo? – Helpa

+0

Ho trovato: android.net.Uri – Helpa

+0

Grazie! loadDataWithBaseURL mi ha aiutato molto – gorodechnyj

5

O si può fare come sopra o metti il ​​file html nella cartella delle risorse e usalo per visualizzarlo

view.loadUrl("file:///android_asset/FILENAME.html"); 
0

per la visualizzazione delle immagini è possibile farlo come

 String str= " img src=\"http://www.homeworknow.com/hwnow/upload/images/tn_star300.gif\" alt=\"this is img\"ALIGN=\"right\"/>"; 
    wv.loadData(str, "text/html", "utf-8");