本文原创,转载请保留原文地址:http://maosidiaoxian.iteye.com/blog/1547428
本文主要说两点内容:
1、webview中点击一个链接时,仍然在里面打开而不是用新的浏览器打开。
2、在webview加载时,显示“正在加载”的对话框,加载完毕之后,取消该对话框的显示。
方法很简单,webView中有一个setWebViewClient方法,如下:
并且覆写里面的几个方法。代码如下:
PS:上面的写法,在调用progressDialog.cancel();方法时,在某些情况下可能会引起程序崩溃,修改方法可参考我后面写的一篇博文:http://maosidiaoxian.iteye.com/blog/1547445
本文主要说两点内容:
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