Android Délai webview si cela prend plus de temps qu'un certain temps à charger

Je Veux délai d'attente de mon webview si cela prend beaucoup de temps à charger affichant un message d'erreur. Je suis en utilisant setWebViewClient parce que j'ai besoin d'utiliser la public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error).

J'ai regardé autour et a vu que je peux utiliser la méthode onProgressChanged(WebView view, int newProgress). Maintenant, je ne peux pas utiliser cette méthode dans setWebViewClient et ne peut pas comprendre comment aller sur la résolution de ce problème. Un autre problème que j'ai est que la barre de progression ne va jamais loin une fois que la page est chargée, je ne peux pas ajouter un point d'arrêt à la méthode public void onPageFinished(WebView view, String url).

Web Afficher Les Paramètres De La Méthode:

public void WebViewSettings(){
webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setSupportZoom(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.canGoBack();
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getHost().equals(urlString)) {
//This is my web site, so do not override; let my WebView load the page
return false;
}
//Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
@Override
public void onLoadResource(WebView view, String url) {
//Check to see if there is a progress dialog
if (progressDialog == null) {
progressDialog = new ProgressDialog(context);
progressDialog.setTitle("Loading...");
progressDialog.setMessage("Please wait.");
//progressDialog.setCancelable(false);
progressDialog.setIndeterminate(true);
progressDialog.show();
}
}
@Override
public void onPageFinished(WebView view, String url) {
//Page is done loading;
//hide the progress dialog and show the webview
if (progressDialog.isShowing()) {
progressDialog.dismiss();
progressDialog = null;
webView.setEnabled(true);
}
}
@Override
public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
@Override
public void onReceivedError(WebView view, int errorCod,String description, String failingUrl) {
Toast.makeText(context, "Your Internet Connection May not be active Or " + description , Toast.LENGTH_LONG).show();
}
});
}

Afin que les problèmes que j'ai sont de la barre de progression n'est pas supprimé une fois que la page web a été chargé et j'ai besoin de délai d'expiration de la webview si c'prendre plus d'une certaine quantité de temps à charger. Il ressemble à la barre de progression s'affiche, puis disparaît comme il se doit, puis commence à charger de nouveau et wont stop. Grâce

OriginalL'auteur Paddy1990 | 2014-03-31