2012-12-11 26 views
26

mam ciąg HTML zawierający to:Jak załadować ciąg html w widoku sieciowym?

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> 
    <html> 
     <head> 
     <meta http-equiv="content-type" content="text/html; charset=windows-1250"> 
     <meta name="spanish press" content="spain, spanish newspaper, news,economy,politics,sports"> 
     <title></title> 
     </head> 
     <body id="body"> 
<!-- The following code will render a clickable image ad in the page --> 
     <script src="http://www.myscript.com/a"></script> 
     </body> 
    </html> 

muszę pokazać, że stronę internetową w WebView w Androidzie.

tryed z tym wszystkim:

webView.loadDataWithBaseURL(null, txt, "text/html", "UTF-8", null); 
webView.loadDataWithBaseURL("x-data://base", txt, "text/html", "UTF-8", null);  
webView.loadDataWithBaseURL("notreal/", txt, "text/htm", "utf-8",null); 

również tryed usuwając tag DOCTYPE:

txt=txt.replace("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">", "");

Nikt z nich ma pracę. Właśnie udało mi się pokazać ciąg w widoku internetowym (kod html), ale nie w witrynie, która musi zostać utworzona przy pomocy tego kodu HTML.

Co jest nie tak?

+0

próbowałaś 'loadData'? – njzk2

+0

możesz umieścić ten ciąg html w pliku res/values ​​/ strings.xml i utworzyć element np. ' twój html tutaj' a następnie załadować go przez 'Html.fromHtml (getString (R.string .strona)) ', sprawdź to jeśli masz trochę czasu, ponieważ chciałbym się dowiedzieć, czy to też działa;) – deadfish

+0

(do czego w ogóle potrzebujesz adresu URL?) – njzk2

Odpowiedz

70

Aby załadować dane w WebView. Zadzwoń loaddata() metoda WebView

wv.loadData(yourData, "text/html", "UTF-8"); 

Można sprawdzić ten przykład

http://developer.android.com/reference/android/webkit/WebView.html

[Edytuj 1]

Należy dodać - \ - przed - "- na przykład ->name = \ "hiszpański nacisnąć \"

poniżej napisu pracował dla mnie

String webData = "<!DOCTYPE html><head> <meta http-equiv=\"Content-Type\" " + 
"content=\"text/html; charset=utf-8\"> <html><head><meta http-equiv=\"content-type\" content=\"text/html; charset=windows-1250\">"+ 
"<meta name=\"spanish press\" content=\"spain, spanish newspaper, news,economy,politics,sports\"><title></title></head><body id=\"body\">"+ 
"<script src=\"http://www.myscript.com/a\"></script>şlkasşldkasşdksaşdkaşskdşk</body></html>"; 
+0

nie działa, po prostu pokazuje pusty biały widok bez zawartości. – NullPointerException

+1

pls spójrz na edytowaną odpowiedź – skaya129

+0

Dla poprawnego UTF-8 powinieneś użyć 'webView.loadData (dane," text/html; charset = UTF-8; ", null);' jak na http: // stackoverflow.com/a/9312031 –

0

miałem ten sam wymóg i zrobiłem to w następujący way.You również można wypróbować ten .. metoda

Zastosowanie loaddata

web.loadData("<p style='text-align:center'><img class='aligncenter size-full wp-image-1607' title='' src="+movImage+" alt='' width='240px' height='180px' /></p><p><center><U><H2>"+movName+"("+movYear+")</H2></U></center></p><p><strong>Director : </strong>"+movDirector+"</p><p><strong>Producer : </strong>"+movProducer+"</p><p><strong>Character : </strong>"+movActedAs+"</p><p><strong>Summary : </strong>"+movAnecdotes+"</p><p><strong>Synopsis : </strong>"+movSynopsis+"</p>\n","text/html", "UTF-8");

movDirector movProducer jak wszystkie są moje zmienna łańcuchowa .

W skrócie zachowuję niestandardową stylizację dla mojego adresu URL.

3

Można również wypróbować ten

final WebView webView = new WebView(this); 
      webView.loadDataWithBaseURL(null, content, "text/html", "UTF-8", null); 
3

odczytu z pliku html aktywów

ViewGroup webGroup; 
    String content = readContent("content/ganji.html"); 

     final WebView webView = new WebView(this); 
     webView.loadDataWithBaseURL(null, content, "text/html", "UTF-8", null); 

     webGroup.addView(webView); 
Powiązane problemy