Как получить диалоговое окно прогресса, которое отображается при нажатии любой ссылки в веб-представлении - PullRequest
1 голос
/ 25 января 2012

У меня есть заголовок с некоторыми кнопками и веб-просмотр под ним. У меня есть диалоговое окно рабочего процесса, когда страница открывается и когда нажата кнопка. Проблема в том, что, когда я нажимаю на любые ссылки внутри веб-просмотра, диалог прогресса не отображается. Кто-нибудь знает лучший способ сделать это? Я включил ниже код для моего WebViewClient и одну из кнопок.

mWebView.setWebViewClient(new WebViewClient() {
             @Override
             public boolean shouldOverrideUrlLoading(WebView view, String url) {
                 view.loadUrl(url);
                 return true;
             }
             ProgressDialog dialog = ProgressDialog.show(myActivity.this, "","Loading...", true);
             public void onPageFinished(WebView view, String url) {
                 dialog.dismiss();
             }
        });
        final Button btnCategory = (Button) findViewById(R.id.btnCategory);
        btnCategory.setOnClickListener(new View.OnClickListener() {
             public void onClick(View v) {
                mWebView.getSettings().setJavaScriptEnabled(true);
                mWebView.setWebViewClient(new WebViewClient(){
                     ProgressDialog dialog = ProgressDialog.show(myActivity.this, "","Loading...", true);
                     public void onPageFinished(WebView view, String url) {
                         dialog.dismiss();
                     }
                });
                mWebView.loadUrl("http://mywebsite.com/page");
            }
        });

Ответы [ 2 ]

0 голосов
/ 25 января 2012

Вы могли бы использовать относительный макет, чтобы включить веб-просмотр и индикатор выполнения (который центрирован в относительном макете).

0 голосов
/ 25 января 2012

Вместо того, чтобы пытаться показать диалог, вы можете просто переключать видимость индикатора выполнения. Я сам не пробовал, но это может выглядеть так:

<FrameLayout
    android:id="@+id/frameLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <WebView
        android:id="@+id/webView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ProgressBar
        android:id="@+id/progressBar1"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:visibility="invisible" >
    </ProgressBar>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...