我的應用程序有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