我有一个Android Studio项目,这个项目应该有本地HTML文件。 我不知道我是否理解文件结构,或者问题是另一个。
文件未打开。仅显示此错误:
文件结构:
代码:
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/webViewRevistas"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
public class revistas extends ActionBarActivity {
private WebView webViewRevistas;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_revistas);
WebView mWebView = (WebView) findViewById(R.id.webViewRevistas);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("file:///assets/index.html");
mWebView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
}
答案 0 :(得分:2)
路径错误。
不是
file:///assets/...
但:
file:///android_asset/...
答案 1 :(得分:0)
要解决此问题,请在&#34; main&#34;中创建一个文件夹。叫&#34; android_asset&#34;并创建另一个名为&#34; assets&#34;的文件夹。并将您的html文件放在资源中并使用此mWebView.loadUrl调用(&#34;文件:/// android_asset /您的HTML FILE.html&#34;);
我有同样的问题,即使我不打电话给mWebView.loadUrl(&#34; file:/// assets / YOUR HTML FILE.html&#34;);它仍然有一些工作原理。我发现这很奇怪,因为html实际上就是这样!
您可能需要为较旧的Android版本复制htmls并将其放在android_asset中。
所以你的文件夹应该看起来像这个main / android_assets / assets /你的HTML.html和main / assets /并用mWebView.loadUrl调用(&#34; file:/// android_asset /你的HTML FILE.html&# 34);
这是我的oncreate看起来如何。
私有WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.activity_main_webview);
// Enable Javascript
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.loadUrl("file:///android_asset/index.html");
}