2011-02-01 67 views
0

我想知道是否有一种方法来检测页面是否完全加载到webview中 - 如果没有完全加载,会自动重新加载,直到页面完全加载。如果页面未完全加载,是否可以重新加载webview?

有没有办法检测到它?

谢谢。

+0

所有你需要的是WebViewClient。 http://developer.android.com/reference/android/webkit/WebViewClient.html覆盖那里的一些功能ie。 onPageFinished() – junmats 2011-02-01 06:16:30

回答

2

目前还没有确切的方法来判断网页将无法完成加载。仍然可以通过实现WebViewClient来实现类似的功能。

Timer t= new Timer("pageloadtimer", true); 
webView.setWebViewClient(new WebViewClient(){ 
    public void onPageFinished(WebView view, String url) { 
    t.cancel(); 
    } 
} 
public void loadURL(String url, long timeout){ 
    t.schedule(new TimerTask(){ 
    public void run(){ 
     webview.reload(); 
    } 
    }, timeout); 
    webview.load(url); 
}

+0

你是如何做这项工作的? `webview.reload()`失败:`java.lang.Throwable:`在线程'pageloadtimer'上调用WebView方法。必须在同一个线程上调用所有WebView方法。 – PhilLab 2015-01-23 15:51:48

1

prateek我认为这会为ü工作.......

在你的WebView

设置的WebView客户端如下....

wv.setWebViewClient(new WebViewClient(){ 

}); 

,并使用不同的webViewclients回调方法检测页面loade与否还是没收到ü一些错误而载入等......

它的一些方法是

public void onPageStarted(WebView view, String url,Bitmap favicon) {} 

public void onPageFinished(WebView view, String url) {} 

public void onLoadResource(WebView view, String url) {} 

public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {}; 

寻找这些方法.....

谢谢。

相关问题