1

ページが読み込まれるとProgress Dialogが表示され、ページの読み込みが完了すると閉じます。その後、下にスクロールすると読み込まれる画像がある場合、進行状況ダイアログが表示されますが、画像が読み込まれた後も消えません。この問題を解決するにはどうすればよいですか?

これは私のコードです。それを使用すると、私の意味が正確にわかります。お役に立てれば幸いです。

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {

    // Declaring
    WebView browser;
    ProgressDialog pd;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Initializing
        browser = (WebView) findViewById(R.id.webView1);

        browser.getSettings().setJavaScriptEnabled(true);
        browser.getSettings().setLoadWithOverviewMode(true);
        browser.getSettings().setUseWideViewPort(true);
        browser.getSettings().setBuiltInZoomControls(true);

        // Loading
        browser.loadUrl("http://www.tumblr.com/tagged/cool%20pictures");

        // Progress Dialog
        pd = ProgressDialog.show(MainActivity.this, "",
                "Loading. Please wait...", true);

        browser.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                try {
                    view.loadUrl(url);
                } catch (Exception e) {
                    e.printStackTrace();

                }
                return true;
            }

            public void onLoadResource(WebView view, String url) {
                try {

                    if (pd.isShowing() == false) {
                        pd = ProgressDialog.show(MainActivity.this, "",
                                "Loading. Please wait...", true);
                    }           

                } catch (Exception e) {
                    e.printStackTrace();

                }
            }

            public void onPageFinished(WebView view, String url) {
                if (pd.isShowing()) {
                    pd.dismiss();

                }

            }

        });

    }

}
4

1 に答える 1