Android 将xml加载到webView中

Android 将xml加载到webView中,android,webview,Android,Webview,WebView没有显示任何内容 String dataStr = new String(data, "UTF-8"); Log.d("EPAB", dataStr); String mime = "text/html"; String encoding = "utf-8"; webView.getSettings().setJavaScriptEnabled(true); webView.loadDataWithBaseURL(null, dataStr, mime, encoding, nul

WebView没有显示任何内容

String dataStr = new String(data, "UTF-8");
Log.d("EPAB", dataStr);
String mime = "text/html";
String encoding = "utf-8";
webView.getSettings().setJavaScriptEnabled(true);
webView.loadDataWithBaseURL(null, dataStr, mime, encoding, null);
Thera是dataStr的一部分

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title/>
    <link rel="stylesheet" href="style.css" type="text/css"/>
    <link rel="stylesheet" href="style.css" type="text/css"/>
</head>
<body class="z">
    <span id="id1"><div class="title1">
    <p class="p">ЧАСТЬ ПЕРВАЯ</p>
    </div></span>
</body>
</html>

ЧАССбПМПААЯ


尝试添加
webView.setWebChromeClient(新的WebChromeClient())

如果不工作,请将dataStr文本复制到“data.html”文件并将其保存在“Assest”上,然后像下面那样加载html页面

webView.setWebChromeClient(新的WebChromeClient());
webView.loadUrl(“file:///android_asset/www/data.html");

--编辑--

将文本发送到html文件

    String text = "" ; //text read from file
WebView webView = (WebView) findViewById(R.id.webView1);
            WebSettings webSettings = webView.getSettings();
            webSettings.setJavaScriptEnabled(true);
            webView.setWebChromeClient(new WebChromeClient());
            webView.loadUrl("file:///android_asset/www/data.html");
            webView .addJavascriptInterface(new webViewInterface(), "Data"); // Data will be used from html
在webViewInterface类中

public class webViewInterface {
    private String text;

    public webViewInterface(String fileText) {
        this.text = fileText;
    }

    @JavascriptInterface
    public String getText() {
        return text;
    }
}
At data.html文件

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title/>
    <link rel="stylesheet" href="style.css" type="text/css"/>
    <link rel="stylesheet" href="style.css" type="text/css"/>
    <script type="text/javascript">
</head>
<body class="z">
    var data = Data.getText()
    <span id="id1"><div class="title1">
    <p class="p">data</p>
    </div></span>
</body>
</html>

var data=data.getText()
数据


正在尝试将网页加载到webview?此html在哪里?在资产文件夹、任何字符串变量或任何网站上?它是从字节数组编码的字符串。assets Folder中file.epub的字节数组没有CSS,它工作得很好。您的方式不适合我问题是webview无法加载css,如果您要使用css文件,则需要将其移动到Assest并使用此代码webview.setWebChromeClient(new WebChromeClient());webView.loadUrl(“file:///android_asset/www/data.html");但我从文件中读取了这些数据。也许您知道显示epub book的另一种方法?您可以从文件中读取数据,并使用JavascriptInterface将这些数据发送到html页面。让我知道,如果你的意思,我会分享完整的代码。解决了!webView.loadDataWithBaseURL(“file:///android_asset/,dataStr,“application/xhtml+xml”,“UTF-8”,null);这是完美的工作