我怎样才能在AsyncTask的解雇ProgressDialog [英] How can I dismiss ProgressDialog in AsyncTask

查看:128
本文介绍了我怎样才能在AsyncTask的解雇ProgressDialog的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是 ProgressDialog ,而我的后台进程在继续,但在完成后台进程后ProgressDialog是不是还驳回中显示。

下面是我的code

 私有类异步扩展的AsyncTask<弦乐,太虚,布尔> {
    最后ProgressDialog progressDialog =新ProgressDialog(的getParent());    @覆盖
    保护布尔doInBackground(字符串... PARAMS){        JSON的getJSON =新的getJSON();
        布尔成功= FALSE;        JSONObject的mJsonObject = JSON
            .readJsonObject(URL);
        尝试{
            成功= mJsonObject.getBoolean(成功);
        }赶上(例外五){
        }
        返回成功;
    }    @覆盖
    保护无效onPostExecute(布尔结果){        如果(结果){
            如果(progressDialog.isShowing())
                progressDialog.dismiss();
            }
        }
    }    @燮pressWarnings(静态访问)
    @覆盖
    在preExecute保护无效(){
        progressDialog.show(的getParent()工作。,请稍候...);
    }
}


解决方案

您可以致电 progressDialog.dismiss()的AsyncTask onPostExecute()方法。

I am using a ProgressDialog to be shown while my background process goes on, but after background process is completed the ProgressDialog is not dismissed still.

Here is my code

private class async extends AsyncTask<String, Void, Boolean> {
    final ProgressDialog progressDialog = new ProgressDialog(getParent());

    @Override
    protected Boolean doInBackground(String... params) {

        GetJson json = new GetJson();
        boolean success = false;

        JSONObject mJsonObject = json
            .readJsonObject("url");
        try {
            success = mJsonObject.getBoolean("success");
        } catch (Exception e) {
        }
        return success;
    }

    @Override
    protected void onPostExecute(Boolean result) {

        if (result) {
            if (progressDialog.isShowing())
                progressDialog.dismiss();
            }
        }
    }

    @SuppressWarnings("static-access")
    @Override
    protected void onPreExecute() {
        progressDialog.show(getParent(), "Working..", "Please wait...");
    }
}

解决方案

You can call progressDialog.dismiss() in your AsyncTask's onPostExecute() method.

这篇关于我怎样才能在AsyncTask的解雇ProgressDialog的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆