私の質問はthisと異なります。 ページロードが開始されると私の進行状況ダイアログが表示されません。私の問題は進捗ダイアログが開始され、決して解雇されないことです。私は進捗ダイアログが開始し、何度も却下され、ページロードが完了した後でも開始され、解雇されないことを示すブレークポイントを設定しました。私の質問は、なぜonPageStartedが単一のページの読み込みのために多くの時間を実行するのですか? ページロードの完了後にonPageFinishedが呼び出されないのはなぜですか?onPageStart何度も呼び出され、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!
はそれが正常に動作します。あなたがロードされているページでAJAX呼び出しを持っている場合)(onPageFinished、
10-06 10:59:25.098: DEBUG/mytag(543): Page Loading Started
10-06 10:59:30.889: DEBUG/mytag(543): Page Loading Finished!
私はそれがshouldOverrideUrlLoading' URLをロードしない 'のためのより正確だと思うと、下のようにコードをたどる解雇onPageStartedが、発生しませんonPageFinished単に 'false'を返します。これの明確な説明については、[このチュートリアルのJakob Jenkov](http://tutorials.jenkov.com/android/android-web-apps-using-android-webview.html)を参照してください。 – ComDubh