我在CSS目录中有一些JS文件和/data/data/my.package/files/htmlstuff文件。我还从网络上获得了很多HTML内容。我想将这些本地CSSJS应用于我在WebView中加载的每个html。我该如何实现?

如果我的CSSJS位于assets/htmlstuff目录中,那么我可以使用以下代码:

webView.loadDataWithBaseURL("file:///android_asset/htmlstuff/", htmlContent, "text/html", "UTF-8", null);


但是,当文件存在于/files/目录中时,如何实现相同的目的?

最佳答案

解决方案是下面的代码:

final File filesDir = getContext().getFilesDir();
final File htmlStuffDir = new File(filesDir, "htmlStuff");
final String baseUrlPath = htmlStuffDir.getAbsolutePath() + "/";

webView.loadDataWithBaseURL("file:///" + baseUrlPath, htmlContent, "text/html", "UTF-8", null);


最后的/很重要,没有它就无法工作。

10-08 03:16