41

以下是我想使用 android sdk 在 webview 中显示的 html 内容。它只会显示

//请

但是当我把这个 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>

请建议如何解决这个问题

我有另一个问题,在 HTML 内容中有一个标签

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

在此图像中没有显示。

4

3 回答 3

73
  1. 使用 web.loadDataWithBaseURL 而不是 web.loadData (不要忘记在需要的地方转义字符串)
  2. 您需要添加 Internet 权限才能下载图像并在清单文件中查看它们。

这个例子对我有用:

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, "");
    }

}

不要忘记添加:

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

在您的 AndroidManifest.xml 文件中

于 2010-09-02T17:09:33.537 回答
10

您可以像上面那样做,也可以将 html 文件放入资产文件夹并使用它来显示它

view.loadUrl("file:///android_asset/FILENAME.html");
于 2011-04-14T06:43:34.610 回答
0

对于图像显示,您可以这样做

 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");
于 2011-04-14T06:53:32.370 回答