Android Studio - уровень Webview Api - проблема 29

Кажется, что веб-просмотр Android 29 вызывает onpagestarted, когда страница видна, поэтому я не могу сделать так, чтобы диалог прогресса отображался, прежде чем сделать страницу видимой, как я сделал в <29.

webView.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
        //onpage start
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
            //if not first time show the second dialog or else dont show
            if (!firsttime) {
                loading2.setVisibility(View.VISIBLE);
            }
            else{
                loading2.setVisibility(View.INVISIBLE);
            }
            is_loading = true;

        }

        @Override
        public void onLoadResource(WebView view, String url) {
            super.onLoadResource(view, url);
        }

        @Override
        public void onPageCommitVisible(WebView view, String url) {
            super.onPageCommitVisible(view, url);
            //set loading false 
            is_loading = false;
            loading2.setVisibility(View.INVISIBLE);
        }

        public void onPageFinished(WebView view, String url) {
            //set loading false 
            is_loading = false;
            if (firsttime) {
                relativeLayout.setVisibility(View.INVISIBLE);
                firsttime = false;

            }
            loading2.setVisibility(View.INVISIBLE);
            webView.setVisibility(View.VISIBLE);
        }

        public void onReceivedError(WebView view, int errorCode, String description, final String failingUrl) {
            //if error recieve
            if (firsttime) {
                relativeLayout.setVisibility(View.INVISIBLE);
                firsttime = false;
            }
            loading2.setVisibility(View.INVISIBLE);
            view.setVisibility(View.GONE);
            webView.loadUrl("file:///android_asset/error.html");
            AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
            builder.setTitle("Opss..")
                    .setMessage("Sorry, Please try Again !")
                    .setPositiveButton("Retry", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {

                            webView.loadUrl(failingUrl);
                            iserror = true;
                        }
                    })
                    .setCancelable(false)
                    .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            finish();
                        }
                    })
                    .show();
        }

    });
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
810
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Привет, ребята, я исправил проблему... Я написал свой код в переопределении на странице, и это сработало...

Извините, сэр. Я не могу понять ваш ответ. Можете ли вы объяснить?

Ganesan J 10.06.2021 07:33

Другие вопросы по теме