我即将放弃,因为我在这个问题上花费了数小时和数小时,我甚至找到了具有完全相同问题的人,运行几乎完全相同的代码,并且没有答案。
我有一个我不拥有的网页,但我将它的页面源复制到我的资源文件夹中的HTML文件中。
webview加载页面以及当时显示的任何数据。问题#1:页面是动态的,每隔几秒就会改变一次。
问题#2:页面显示方式与下面的2个链接相同。图像丢失, 页面看起来很准确..我不知道为什么。
WebView not showing website correctly和 WebView not showing correctly
问题#3:一些页面加载,看起来很好,我可以访问他们的链接,但他们保持静态,页面非常动态(想想reddit)。
我的代码是
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//get reference to webview
WebView webView = (WebView)findViewById(R.id.myWebview);
//enable javascript on browser
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return false;
}
});
String myUrl = "file:///android_asset/newfile.html";
webView.loadUrl(myUrl);
}
当我尝试使用webView.loadDataWithBaseUrl();
时webview仅显示一个白页,其中只包含我的html文件的路径
例如
文件:///android_asset/newfile.html
就是这样。
我没有想法,我希望有人可以提供帮助。
编辑:语法和语法。
答案 0 :(得分:0)
首先,明确这一点:
当您在资源文件夹中加载HTML文件时,您需要知道您还必须上传图像,CSS和所有相关内容。
第二
下面的代码我错了
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
view.loadUrl(url);
return false;
}
});
String myUrl = "file:///android_asset/newfile.html";
webView.loadUrl(myUrl);
它应该是:
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
webView.loadUrl(url); // --------> POINTED FAULT
return false;
}
});
String myUrl = "file:///android_asset/newfile.html";
webView.loadUrl(myUrl);
检查weView.loadUrl(...)中的大小写,是WebView还是webView
尝试并确认......