【问题标题】:"loading" message when starting Android app doesn't disappear启动 Android 应用程序时的“正在加载”消息不会消失
【发布时间】:2014-11-22 10:47:22
【问题描述】:

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

所以我想做的是显示一条加载消息正好 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();
            }
        }

【问题讨论】:

    标签: android webview loading progressdialog


    【解决方案1】:

    除非您确定加载只需要 3 秒,否则不要设置精确的计时器。如果您从网上获取内容,那么我建议您使用 asynctask 并在 onpreexecute() 中显示加载对话框并在 onpostexecute() 中关闭对话框。 这行得通。 别的 如果你确定然后放 wait(3000) 并关闭对话框

    【讨论】:

      【解决方案2】:

      试试这个方法:

      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;
             }
          }
       });
      

      【讨论】:

      • 我尝试了您的代码,但就像以前一样,加载消息会出现,直到您单击页面背景中的某个位置...
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多