我的应用程序有webview,我添加进度对话框显示加载,直到web加载完成。我在谷歌搜索,并得到了很好的解决方案显示带有对话框进度和网络客户端的webview客户端
wv.setWebChromeClient(new MyWebChromeClient());
wv.setWebViewClient(new MyWebViewClient());
wv.loadUrl("http://www.google.com");
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
view.loadUrl(url);
return true;
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
alertdialog.setTitle("Error");
alertdialog.setMessage(description);
alertdialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//return;
finish();
}
});
alertdialog.show();
}
}
private class MyWebChromeClient extends WebChromeClient {
@Override
public void onProgressChanged(WebView view, int progress) {
progressDialog.show();
progressDialog.setProgress(0);
activity.setProgress(progress * 1000);
progressDialog.incrementProgressBy(progress);
if(progress == 100 && progressDialog.isShowing())
progressDialog.dismiss();
}
}
但我的问题是,如何让progressdialog只出现一次后,我推出来,因为现在如果我点击例如像图像(在google.com),进程对话框将再次出现。
看到这个链接http://stackoverflow.com/questions/8634319/how-to-set-different-title-for-alert-dialog-when-webview-page-is-loaded/9394561#9394561 – Sameer 2012-07-31 04:21:18
我试试你的链接和实现,但这不是我想要的,因为我不想让webview看起来像弹出。 – 2012-07-31 04:49:46