私の質問はこれとは異なります..ページの読み込みが開始されたときに進行状況ダイアログが開始され、Webビューでページの読み込みが終了したときに終了することを望みます。私の問題は、進行状況ダイアログが開始され、決して閉じられないことです。ブレークポイントを設定しました。これは、進行状況ダイアログが開始され、何度も却下され、ページの読み込みが完了した後でも開始され、却下されないことを示しています。私の質問は、1 ページの読み込みで onPageStarted が何度も実行されるのはなぜですか? ページの読み込みが完了した後に onPageFinished が呼び出されないのはなぜですか?
myWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
myWebView.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(myWebView, url, favicon);
Log.d("mytag","Page Loading Started");
//myURLProgressDialog= ProgressDialog.show(WebviewExampleActivity.this, "Page Loading", "Wait for a moment...");
}
@Override
public void onPageFinished(WebView view, String url) {
Log.d("mytag","Page Loading Finished!");
super.onPageFinished(myWebView, url);
//myURLProgressDialog.dismiss();
}
});
自己タグ付けされたフィルター処理されたログは、単一ページをロードする場合は次のようになります。
10-06 10:32:49.298: DEBUG/mytag(508): Page Loading Started
10-06 10:32:49.998: DEBUG/mytag(508): Page Loading Started
10-06 10:32:50.048: DEBUG/mytag(508): Page Loading Finished!
10-06 10:32:50.048: DEBUG/mytag(508): Page Loading Started
10-06 10:33:00.898: DEBUG/mytag(508): Page Loading Finished!
既に読み込まれたページのリンクをクリックすると、正常に動作します。ログは次のとおりです。
10-06 10:59:25.098: DEBUG/mytag(543): Page Loading Started
10-06 10:59:30.889: DEBUG/mytag(543): Page Loading Finished!