Android ProgessBar при загрузке WebView

В моем приложении есть WebView, который загружает любой URL-адрес из Интернета. Теперь иногда из-за медленных сетей страница загружается долго и пользователь видит только пустой экран.

Я хочу показать ProgressBarво время загрузки WebViewи скрыть ProgressBarпри полной загрузке WebView.

Я знаю, как использовать ProgressBarи AsyncTask, но вот моя проблема.

Это код, который я использую для загрузки моего WebView.

    mWebView = (WebView) findViewById(R.id.webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.setWebViewClient(new HelloWebViewClient());
    mWebView.loadUrl(web_URL);

А это мой пользовательский класс WebViewClient

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

Теперь, если я попытаюсь показать ProgressBarс помощью AsyncTasks, тогда я думаю, мне нужно будет указать код для загрузки URL-адреса в функцию doInBackGround()моей AsyncTaskи показать ход выполнения функции onProgressUpdate().

Но как мне загрузить URL-адрес внутри doInBackground(), поскольку doInBackground()работает в потоке без пользовательского интерфейса, и я не смогу использовать mWebView .loadUrl(web_URL)внутри него.

Есть предложения? Я упускаю что-то очевидное? Пожалуйста, помогите мне.

39
задан SpaceCore186 12 November 2016 в 03:01
поделиться