我在CSS
目录中有一些JS
文件和/data/data/my.package/files/htmlstuff
文件。我还从网络上获得了很多HTML内容。我想将这些本地CSS
和JS
应用于我在WebView中加载的每个html。我该如何实现?
如果我的CSS
和JS
位于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);
最后的
/
很重要,没有它就无法工作。