android中webview加载时显示正在连接的对话框

阅读更多
本文原创,转载请保留原文地址:http://maosidiaoxian.iteye.com/blog/1547428

本文主要说两点内容:
1、webview中点击一个链接时,仍然在里面打开而不是用新的浏览器打开。
2、在webview加载时,显示“正在加载”的对话框,加载完毕之后,取消该对话框的显示。

方法很简单,webView中有一个setWebViewClient方法,如下:
mSearchWV.setWebViewClient(new WebViewClient() {
});

并且覆写里面的几个方法。代码如下:
		webView.setWebViewClient(new WebViewClient() {
			Dialog progressDialog = ProgressDialog.show(mContext, null,
					mContext.getString(R.string.loading));

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

			@Override
			public void onPageStarted(WebView view, String url, Bitmap favicon) {
				super.onPageStarted(view, url, favicon);
				progressDialog.show();
			}

			@Override
			public void onPageFinished(WebView view, String url) {
				super.onPageFinished(view, url);
				progressDialog.cancel();
			}
		});


PS:上面的写法,在调用progressDialog.cancel();方法时,在某些情况下可能会引起程序崩溃,修改方法可参考我后面写的一篇博文:http://maosidiaoxian.iteye.com/blog/1547445

你可能感兴趣的:(webview,progressdialog,webviewclient,android,正在加载)