Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android WebView没有';无法加载本地css文件_Android_Html_Css_Web Applications_Webview - Fatal编程技术网

Android WebView没有';无法加载本地css文件

Android WebView没有';无法加载本地css文件,android,html,css,web-applications,webview,Android,Html,Css,Web Applications,Webview,我正在Android上开发一个应用程序,我正在使用一个包含css文件的本地html文件,但它不起作用,我也不知道为什么。 Java代码如下所示: view.loadDataWithBaseURL("file:///android_asset/", content, "text/html", "UTF-8", null); HTML代码如下所示 <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatib

我正在Android上开发一个应用程序,我正在使用一个包含css文件的本地html文件,但它不起作用,我也不知道为什么。 Java代码如下所示:

view.loadDataWithBaseURL("file:///android_asset/", content, "text/html", "UTF-8", null);
HTML代码如下所示

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">


<title>Starter Template for Bootstrap</title>

<!-- Bootstrap core CSS -->
<link href="../css/main.css" rel="stylesheet">
<style>



</style>

启动模板

路径是正确的,EclipseWebBrowser显示的html页面是正确的,但是如果我在我的设备上测试它,它就没有样式。 Logcat抛出错误“未知错误:-6”
非常感谢

您不能在webview中引用此路径。您可能需要将css文件存储在assets文件夹中,并动态引用它:

将CSS放在assets文件夹中,使用HTML进行操作,但通过相对路径引用CSS,并通过loadDataWithBaseURL()方法将HTML加载到WebView:

webView.loadDataWithBaseURL(“file:///android_asset/,htmlString,“text/html”,“utf-8”,null);
例如,您拥有styles.css文件,将其放入资产文件夹,创建HTML并加载:
StringBuilder sb=新的StringBuilder();
某人加上(“”);
sb.append(tables.toString());
某人加上(“”);
webView.loadDataWithBaseURL(“file:///android_asset/,sb.toString(),“text/html”,“utf-8”,null);

发件人:

在您的情况下,错误-6表示未找到
文件,这可能是由于您设备上的访问权限问题


您可能需要将CSS文件放在HTML文件的同一文件夹下。出于安全考虑,webkit引擎在访问本地文件时将应用相同的域策略。i、 e.不允许访问与主HTML文件不在同一文件夹中的子资源文件(如CSS、JS、图像)。

请注意,如果您没有将文件存储在资产文件夹中,并且希望使用相对路径,Android上的Webview有时需要在相对路径之前加上点斜杠

<LINK href="./styles/file.css" type="text/css" rel="stylesheet">

<LINK href="./styles/file.css" type="text/css" rel="stylesheet">