"装载"启动Android应用时的消息不会消失

时间:2014-11-22 10:47:22

标签: android webview loading progressdialog

我想在Android上显示“loading ...”消息。 我设法用下面的代码执行此操作,但问题是它一直显示“正在加载...”消息,即使页面已经加载。当我点击背景时它会消失,但这绝对不是我在使用此代码时的想法。

所以我想做的是显示加载消息正好3秒钟。

任何人都可以帮我解决这个问题吗?

public void onLoadResource (WebView view, String url) {
            if (progressDialog == null) {
                // in standard case YourActivity.this
                progressDialog = new ProgressDialog(MainActivity.this);
                progressDialog.setMessage("Loading...");
                progressDialog.show();
            }
        }
        public void onPageFinished(WebView view, String url) {
            try{
            if (progressDialog.isShowing()) {
                progressDialog.dismiss();
                progressDialog = null;
            }
            }catch(Exception exception){
                exception.printStackTrace();
            }
        }

2 个答案:

答案 0 :(得分:0)

除非你确定加载完全只需要3秒,否则不要放一个精确的计时器。如果你从网上获取内容,那么我建议你使用asynctask并在onpreexecute()中显示加载对话框,并在onpostexecute()中关闭对话框。 这很有效。 其他 如果你确定然后放入wait(3000)并关闭对话框

答案 1 :(得分:0)

尝试这种方式:

webView.setWebChromeClient(new WebChromeClient() {
   public void onProgressChanged(WebView view, int progress) {
       if (progressDialog == null) {
           progressDialog = new ProgressDialog(MainActivity.this);
           progressDialog.setMessage("Loading...");
           progressDialog.show();
       }

       if(progress==100 && progressDialog.isShowing()){
           progressDialog.dismiss();
           progressDialog = null;
       }
    }
 });