当前位置: 首页 > 知识库问答 >
问题:

点击Android进度对话框加载Webview-空白屏幕

沈建柏
2023-03-14

我试图在Web视图中加载内容时显示progressDialog。完成后,progressDialog将被取消。

private ProgressDialog progressDialog;

@Override
protected void onCreate(Bundle savedInstanceState) {
    webView = (WebView) findViewById(R.id.webView);
    webView.setWebViewClient(new WebViewClient(){

        @Override
        public void onLoadResource (WebView view, String url) {
            //show progress bar
            if (progressDialog == null) {
                progressDialog = new ProgressDialog(activity);
                progressDialog.setMessage("Loading please wait...");
                progressDialog.show();
            }   
        }

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

    });
}

我有两个测试设备Android2.3.6和Android4.0。在Android2.3.6中,完全没有问题。对于Android 4.0平板电脑,在显示进度对话框时,点击它将隐藏或删除进度对话框,并使屏幕变为空白。

我的对话有什么问题?

谢谢

共有2个答案

欧阳博文
2023-03-14
 public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        WebView webview = (WebView) findViewById(R.id.webView1);
        webview.loadUrl("http://google.com");
        final ProgressDialog pd = ProgressDialog.show(this, "please wait", "Loading...");
        webview.getSettings().setBuiltInZoomControls(true);
        webview.setWebViewClient(new WebViewClient() {
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {              
                        view.loadUrl(url);
                        return true;
                    }


                  public void onPageFinished(WebView view, String url) {
                        if (pd.isShowing()) {
                            pd.dismiss();
                        }
                    }

        });
    }
拓拔弘厚
2023-03-14

作为你的webView客户端试试这个

 webView.setWebViewClient(new WebViewClient(){

            @Override
            public void onLoadResource (WebView view, String url) {
                //show progress bar
                if (progressDialog == null) {
                    progressDialog = new ProgressDialog(MainActivity.this);
                    progressDialog.setMessage("Loading please wait...");
                    progressDialog.show();
                    progressDialog.setCanceledOnTouchOutside(false);
                    progressDialog.setCancelable(false);
                }   
            }

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

        }); 
 类似资料:
  • WebView可以很好地处理http请求和https(其中知名的可信站点如https://www.online.citibank.co.in/),但我试图使用第三方颁发的CA访问私有站点,它显示的是空白屏幕。证书通过SD卡安装到电话上,并列在受信任的证书列表下。 当我在将证书添加到TrustManager后使用HttpsURLConnection尝试相同的URL时,它工作得很好(能够获取内容)。

  • 问题内容: 加载Web视图后,我需要什么代码来创建对话框? 我试过了 没用 问题答案: :o webview.setWebViewClient(new homeClient()); homeClient() ???? 试试这个 更新:: 这是一个很好的例子。 Android WebView和不确定性进度解决方案

  • 我在主活动中有以下代码 可扩展置标语言 有时当我打开我的应用程序时,只会显示白屏。我已经使用AsyncTask将数据库从资产文件夹复制到设备,共享首选项将设置字体类型和大小。谁能帮我解决这个问题。谢谢你。 在提出问题之前,我已经阅读了以下问题 Android应用程序启动时的白色背景 android闪屏前几秒钟的白色背景 闪屏活动背景色

  • 问题内容: 我是android开发的新手。我想在我的应用程序中使用开发一个。当我单击“搜索”按钮时,应当与一起出现,表明在切换到另一个按钮之前进度一直在进行。请给我推荐示例代码。 问题答案: 使用。不过,您应该在new上进行工作,并在完成时使用a 回调到。这是我的方法:

  • 我已经使用进度条来指示页面正在android WebView中加载。但是进度条会永远显示,即使页面已经完全加载。我使用logcat进行调试,它显示调用了onPageFinished函数。

  • 本文向大家介绍Android实现加载对话框,包括了Android实现加载对话框的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android实现加载对话框的具体代码,供大家参考,具体内容如下 这里简单说一下两种实现加载对话框的方式:1.使用动画让一个图片旋转 2.使用progressbar。 感觉简单来说,dialog就是一个弹出的window,把自己定义的布局放置到window里面