gadzhi15
@gadzhi15

Остановка ProgressDialog в webView. Как сделать?

Добрый день.
Решил начать писать первое приложение на android. Использую для этого компонент webView. Добавил так же индикатор загрузки страницы, но никак не получается его правильно завершить.

public class MainActivity extends Activity {

    private WebView mWeb;

    private class WebViewer extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading (WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }
    }

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

       
        mWeb=(WebView)findViewById(R.id.web);


        mWeb.getSettings().setJavaScriptEnabled(true);

      
        mWeb.loadUrl("http://randevu05.ru/");

     
        mWeb.setWebViewClient(new WebViewer());

       ProgressDialog.show(MainActivity.this, "", "Загрузка. Пожалуйста подождите...", true);



        }

 
    @Override
    public void onBackPressed() {
        if (mWeb.canGoBack()) {
            mWeb.goBack();}
        else {
            super.onBackPressed();
        }
    }
}


Как лучше осуществить?
  • Вопрос задан
  • 422 просмотра
Решения вопроса 2
@afeozzz
private class WebViewer extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading (WebView view, String url) {
            view.loadUrl(url);
            return true;
        }

    @Override  
    public void onPageFinished(WebView view, String url) {
           super.onPageFinished(mWebView, url);
           progressDialog.dismiss();
    }


как-то так
Ответ написан
@onepavel
Консультация и разработка мобильных приложений
Прежде чем лабать код, стоит документацию или книжку почитать!
В реализации WebViewClient не хватает методов, рекомендую присмотреться к
onPageFinished(WebView view, String url).
Создавая прогресс, желательно сохранить ссылку на этот прогресс, чтобы им в
дальнейшем можно было управлять. К примеру стопать после загрузки страницы в
методе onPageFinished.
ProgressDialog progressDialog = ProgressDialog.show(MainActivity.this, "", "Загрузка. Пожалуйста подождите...", true);
как то так =)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы