我正常使用webview,如
WebView webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("http://www.google.com");
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(WebViewActivity.this, description, Toast.LENGTH_SHORT).show();
}
});
现在,当我在谷歌上搜索某些内容并打开列表中的任何网址时,将无法加载。它仍然是设备上的白色屏幕。如果我按代码加载url就行了!这是webview的任何限制,还是我需要启用它的任何其他设置?感谢名单。
答案 0 :(得分:1)
看看我的解决方案
private void webViewResult() {
String indexPage = "localhost:8080/libProject/all-book.jsp?classNo="+classtype+"&filename="+subjecttype";
httpResultWebView = indexPage;
webview();
}
void webview() {
private WebView wv;
WebView webView = (WebView) findViewById(R.id.webView);
webView.loadUrl(httpResultWebView);
WebSettings settings = webView.getSettings();
settings.setBuiltInZoomControls(true);
settings.getAllowContentAccess();
settings.getJavaScriptEnabled();
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
webView.setWebViewClient(new WebViewClient());
wv = webView;
wv.setDownloadListener(new DownloadListener() {
public void onDownloadStart(String url, String userAgent,
String contentDisposition, String mimetype,
long contentLength) {
String fileName = URLUtil.guessFileName(url, contentDisposition, mimetype);
DownloadManager.Request request = new DownloadManager.Request(
Uri.parse(url));
request.allowScanningByMediaScanner();
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setDestinationInExternalPublicDir("/Library", fileName);
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
dm.enqueue(request);
}
});
}
答案 1 :(得分:0)
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
这不是我所谓的正常方式,你应该返回false并让webview处理这个问题。 (不太确定为什么你会得到你描述的行为,但它可能有助于解决它)
答案 2 :(得分:0)
试用和错误对我有用! 只需改变就好,
webView.setWebViewClient(new WebViewClient());
它按我的意愿工作。 Thanx其他的努力。