我正在使用 ProgressDialog
在我的后台进程继续时显示,但在后台进程完成后 ProgressDialog 仍未关闭。
这是我的代码
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...");
}
}
最佳答案
private final class YourTask extends AsyncTask<Void, Void, Object> {
private ProgressDialog dialog;
@Override
protected void onPreExecute() {
dialog = ProgressDialog.show(YourActivity.this, "Title", "Message", true);
}
@Override
protected Object doInBackground(final Void... params) {
// Doing something
}
@Override
protected void onPostExecute(final Object result) {
// Check result or something
dialog.dismiss();
}
}
关于android - 如何关闭 AsyncTask 中的 ProgressDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6327369/