Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;“装载”;启动Android应用程序时的消息不';不要消失_Android_Webview_Loading_Progressdialog - Fatal编程技术网

&引用;“装载”;启动Android应用程序时的消息不';不要消失

&引用;“装载”;启动Android应用程序时的消息不';不要消失,android,webview,loading,progressdialog,Android,Webview,Loading,Progressdialog,我想显示一个“加载…”消息时,我的Android。 我用下面的代码成功地做到了这一点,但问题是它会一直显示“Loading…”消息,即使页面已经加载。当我点击背景时,它消失了,但这绝对不是我在使用这段代码时想到的 所以我想做的是显示一条加载消息,持续3秒钟 有人能帮我解决这个问题吗 public void onLoadResource (WebView view, String url) { if (progressDialog == null) {

我想显示一个“加载…”消息时,我的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();
            }
        }

除非您确定加载只需3秒,否则不要设置精确的计时器。如果您从网络获取内容,那么我建议您使用asynctask,并在onpreexecute()中显示加载对话框,在onpostexecute()中显示该对话框。 这很有效。 其他的 如果确定,请按等待(3000)并取消错过对话框

尝试以下方法:

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

我尝试了你的代码,但就像以前一样,加载消息会一直出现,直到你点击页面背景的某个地方。。。