无法解除android中的进度对话框

时间:2014-04-13 06:32:54

标签: android

如何在完成后台进程后解除android中的进度对话框?

我曾尝试使用Google,但没有得到我想要的特定解决方案。

这是我的代码:

private void next() {

    String url = "http://10.0.2.2/final/studentrecord.php";
    FetchDataTask task = new FetchDataTask(url);


    dialog = ProgressDialog.show(this, "", "Fetching StudentList from Server...", true, true);


    task.execute(url);

}

我该怎么做?

3 个答案:

答案 0 :(得分:1)

使用Handler和dialog.dismiss();

在您的活动中定义处理程序对象,从后台发布消息到handler.sendMessage(msg);处理程序 在定义对话框的活动中,实现Handler.Callback的handleMessage方法

e.g。如果您将消息发送到处理程序,如

Message msg = new Message();
    msg.what = 1;
    handler.sendMessage(msg);

然后在handleMessage方法

@Override
public boolean handleMessage(Message msg) {
    if (msg.what == 1) {
        dialog.dismiss(); 
    }
    return false;
}

答案 1 :(得分:0)

确保即使在完成任务后也可以访问对话框: -

你应该这样做: -

onPreExecute()

中创建对话框

并使用dialog.dismiss()

中的onPostExecute()将其关闭

答案 2 :(得分:0)

在后执行类型

 dialog.dismiss()