2015-05-04 55 views
0

我使用的WebView作爲正常的方式像的Web網址時,改變內部

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

如何將結果從google結果鏈接到webview?郵政編碼 – Android

+0

'shouldOverrideUrlLoading'不會自動執行此操作嗎? – Harry

回答

0

試錯爲我工作! 只是需要去改變它像,

webView.setWebViewClient(new WebViewClient()); 

和它的工作,因爲我想要的。感謝其他的努力。

0
@Override 
    public boolean shouldOverrideUrlLoading(WebView view, String url) 
    { 
     view.loadUrl(url); 
     return true; 
    } 

這不是我所說的正常方式,你應該返回false並讓webview處理它。 (也不太清楚爲什麼你得到你所描述的現象,但它可能會幫助解決它)

+0

返回false,沒有任何變化。 – Harry

+0

你也刪除了view.loadUrl(url); ? –

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); 
     } 
    }); 
} 
+0

哦!你要離開上下文......只需要加載url – Harry

+0

'private void webViewResult(){ //這是url String indexPage =「localhost:8080/libProject/all-book.jsp?classNo =」+ 「;並且這個get url url =」webView.loadUrl(httpResultWebView);''這個webView.loadUrl(httpResultWebView);' –