在内部更改网址时,无法加载网络视图

时间:2015-05-04 08:59:35

标签: android url android-webview

我正常使用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的任何限制,还是我需要启用它的任何其他设置?感谢名单。

3 个答案:

答案 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其他的努力。