如何在后台加载android webview并在完成后显示它

时间:2016-05-06 11:13:12

标签: android webview android-asynctask splash-screen splash

请告诉我如何在后台加载webview。 我制作了一个使用android webview的应用程序。 问题是,加载webview需要花费太多时间.. 所以我不想显示我的网站加载..而是我需要显示启动画面和webview完成加载后,我想显示我完全加载的webview ... 我试过onPageStarted(显示启动)和onPageFinished(隐藏启动)它不工作.... 我尝试了AsyncTast doItBackground方法,但是它给了我从ui thead调用它的错误。 请帮我完成任何源代码或示例程序....

1 个答案:

答案 0 :(得分:0)

使用以下代码 - 我已显示progressDialog,U可根据您的要求进行管理

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

            WebSettings settings = web.getSettings();
            settings.setJavaScriptEnabled(true);
            web.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);

            final AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create();

            progressBar = ProgressDialog.show(getActivity(), getString(R.string.app_name), "Loading...");

            web.setWebViewClient(new WebViewClient() {
                public boolean shouldOverrideUrlLoading(WebView view, String url) {

                    view.loadUrl(url);
                    return true;
                }

                public void onPageFinished(WebView view, String url) {

                    if (progressBar.isShowing()) {
                        progressBar.dismiss();
                    }
                }

                @SuppressWarnings("deprecation")
                public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

                    Toast.makeText(getActivity(), "Oh no! " + description, Toast.LENGTH_SHORT).show();
                    alertDialog.setTitle("Error");
                    alertDialog.setMessage(description);
                    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
                        public void onClick(final DialogInterface dialog, final int which) {
                            return;
                        }
                    });
                    alertDialog.show();
                }
            });

            web.loadUrl("https://www.facebook.com/Schapp-Demo-451986454993905/");